[Feature Request] Ink effects for arbitrary elements

I tried to put an mdl-js-ripple-effect on a mdl-navigation__link but it just threw an error:
Uncaught TypeError: Cannot read property 'classList' of null

I'm having trouble inserting break points into the minified code to find out why.  Anyway, it'd be nice if ink effects could work on arbitrary divs.  Or at least if they would support mdl-navigation__link like they do the very similar mdl-menu__item

I found a simple way to get it to work.  Check it out.  All you have to do is make the element positioned, give it overflow:hidden, and put a <span class="mdl-ripple"/> inside of it.  This would be a great default behavior for mdl-js-ripple-effect if it can't find the mdl-ripple element it's looking for.

I think this is more a problem with the ripple component not being built to stand by itself.
The button JS handles setting up the ripple effect for itself for example. Ideally, this logic should be handled within the ripple JS so you can just toss it into anything and it would work.
I think this is an artifact from the WSK library setup. We can document what is needed for the ripple element now, but fixing it properly may not be possible until the next major.

@nickretallack thanks for the tip! works great.

Closing; superseded by #4467
The v2 ripple will be much more self-contained than v1, and any limitations on where it can be placed within the DOM will be well documented.
We are still in the very early stages of v2 and are currently working towards an alpha. Our master branch is where all v2 work is happening if you are interested in keeping up with its progress. 😄


Unable to transfer hotspot that is stored in Ledger connected wallet

'Transfer Hotspot' button does not work.

Was this a ledger that you had connected pre-migration? You will need to re connect that ledger as a new wallet after going through the guide here https://docs.helium.com/solana/migration/ledger/

Closing due to inactivity.


Hiding "Load More" button when there are few txns also hides Add/Assert txns

As these are valid (and useful) txns, they should still be shown along with other network activity

fixed by #257


AttributeError: module 'shap' has no attribute 'plots'

I'm working with the introductory documentation
The following code works for an appropriate selection of model and X
explainer = shap.Explainer(model)
shap_values = explainer(X)

However, this code does not
explainer = shap.Explainer(model)
shap_values = explainer(X)

# visualize the first prediction's explanation
shap.plots.waterfall(shap_values[0])

I'm using miniconda with conda 4.10.1 with a python 3.8.8 environment on macOS Big Sur v11.2.3
packages installed are
certifi==2020.12.5
click==7.1.2
cloudpickle==1.6.0
Flask==1.1.2
Flask-Cors==3.0.10
itsdangerous==1.1.0
Jinja2==2.11.3
joblib==1.0.1
llvmlite==0.36.0
MarkupSafe==1.1.1
numba==0.53.1
numpy==1.20.2
pandas==1.2.4
python-dateutil==2.8.1
pytz==2021.1
scikit-learn==0.24.2
scipy==1.6.3
shap==0.39.0
six==1.15.0
slicer==0.0.7
threadpoolctl==2.1.0
tqdm==4.60.0
treeinterpreter==0.2.3
Werkzeug==1.0.1
Any suggestions would be appreciated

I also had this issue, but found the function at shap.waterfall_plot.

Why was this closed?
Is it a version problem?

This worked for me:
from shap.plots import *
then can just use the functions as so:
waterfall(shap_values[0])
(shap version 0.40.0)

Could this be an issue with not having matplotlib installed? It's not listed in the conda package list at the top. And if you look at init.py, a lot of imports will only happen if matplotlib is installed.
Installing matplotlib resolved the issue for me.

If I have a coalitions values already, how can I use SHAP?

I also had this issue, does anyone has good suggestions？:(


INVALID_ARGUMENT: Text is too long

I am not sure whether this is a bug; perhaps I am just missing some documentation.
I have a "large" string-array with about 300 medium-sized sentences.
I tried to translate this array via a single call to client.translateText, but I get the following error:

3 INVALID_ARGUMENT: Text is too long.
Error: 3 INVALID_ARGUMENT: Text is too long.
at Object.callErrorFromStatus (/node_modules/@grpc/grpc-js/build/src/call.js:31:26)
at Object.onReceiveStatus (/node_modules/@grpc/grpc-js/build/src/client.js:176:52)
at Object.onReceiveStatus (/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:342:141)
at Object.onReceiveStatus (/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:305:181)
at /node_modules/@grpc/grpc-js/build/src/call-stream.js:124:78

To fix this, I might change my code into multiple, smaller calls to client.translateText.
However, I would like to know if there are any clearly-defined size-limits.
After all, it might be really slow to translate each text individually.
My code looks like this:
import { google } from "@google-cloud/translate/build/protos/protos";
import ITranslateTextRequest = google.cloud.translation.v3.ITranslateTextRequest;
import { ClientOptions } from "google-gax";
import ITranslation = google.cloud.translation.v3.ITranslatio
import { TranslationServiceClient } from "@google-cloud/translate";

const request: ITranslateTextRequest = {
      parent: `projects/${projectId}/locations/${location}`,
      contents: stringsToTranslate, // "Large" array with about 300 sentences!
      mimeType: "text/plain",
      sourceLanguageCode: args.srcLng,
      targetLanguageCode: args.targetLng,
};
const [response] = await client.translateText(request);

Environment details

OS: macOS 10.15.6
Node.js version: v14.13.0
npm version: 6.14.8
@google-cloud/translate version: 6.0.3

Quotas and limits are talked about here: https://cloud.google.com/translate/quotas

The Cloud Translation API is optimized for translating of smaller requests. The recommended maximum length for each request is 5K characters. However, the more characters that you include, the higher the response latency. For Cloud Translation - Advanced, the maximum number of code points for a single request is 30K. Cloud Translation - Basic has a maximum request size of 100K bytes.
The Cloud Translation API rejects requests larger than the maximum and gives a 400 INVALID_ARGUMENT error regardless of the available quota.


Spring cloud not reading config from provided git URI

I have provided git config as in bootstrap.yml but still its not reading the configs and there are no errors in the log. Not able to solve this issue.
Config --->
 server:
  port: 8080
spring:
  application:
    name: Config-Server
  cloud:
    config:
      server:
        git:
          uri: https://github.com/tamal2401/Config-Server-Git.git
          username<EMAIL_ADDRESS>          password: ######
eureka:
  client:
    service-url:
      default-zone: http://localhost:8761/eureka/
    register-with-eureka: true
    fetch-registry: true

Logs are getting printed --->
2019-08-19 01:11:19.853  INFO 8208 --- [           main] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2019-08-19 01:11:19.899  INFO 8208 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'configurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$3047a3b6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.5.RELEASE)

2019-08-19 01:11:20.348  INFO 8208 --- [           main] c.j.e.MasterEurekaServerApplication      : No active profile set, falling back to default profiles: default
2019-08-19 01:11:20.363  INFO 8208 --- [           main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@3e44f2a5: startup date [Mon Aug 19 01:11:20 IST 2019]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@79e2c065
2019-08-19 01:11:22.110  INFO 8208 --- [           main] o.s.cloud.context.scope.GenericScope     : BeanFactory id=ea81071d-5482-367e-af9d-b21d3088ff2a
2019-08-19 01:11:22.145  INFO 8208 --- [           main] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2019-08-19 01:11:22.345  INFO 8208 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$3047a3b6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-08-19 01:11:23.215  INFO 8208 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8761 (http)
2019-08-19 01:11:23.240  INFO 8208 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2019-08-19 01:11:23.240  INFO 8208 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.34

Response from the config-service is --->
"{"name":"Config-Serve","profiles":["default"],"label":null,"version":"96e6e24ea27d705bf8d243ac69ff46a0698e0ba6","state":null,"propertySources":[]}"

please if anything i ma doing wrong let me know..

What versions and dependencies are you using?

Below are the dependencies that i have provided and the spring boot version also..

1.8
Finchley.SR1

<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-actuator</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-config-server</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
	</dependency>

	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-test</artifactId>
		<scope>test</scope>
	</dependency>
</dependencies>

Starting a config server doesn't read from git. Only when a client reads from config server will you see anything.
Also, boot 2.0.x and Finchley are not supported anymore, I'd recommend upgrading to boot 2.1.x and Greenwich.SR2.

but when i was trying to hit the below provided url it is returning a blank response but no error response.
URL : "http://localhost:8080/Config-Server/default"
this url supposed to get the config resources from the git ?
the response is coming as
"{"name":"Config-Serve","profiles":["default"],"label":null,"version":"96e6e24ea27d705bf8d243ac69ff46a0698e0ba6","state":null,"propertySources":[]}"
There is no particular error is also there so i am confused...and i will try changing the spring boot version..thanks but if you have any other suggestion let me know please..

I have also created a config client service and tried reading config from this service but still not able to get the config.
providing the bootstrap..
spring:
cloud:
config:
uri: http://localhost:8080
eureka:
client:
service-url:
default-zone: http://localhost:8761/eureka/
register-with-eureka: true
fetch-registry: true

Can you provide a complete, minimal, verifiable sample that reproduces the problem? It should be available as a GitHub (or similar) project or attached to this issue as a zip file.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


wait_for_ip is satisfied with the IPv4 loopback address which is configured by default

As a consequence the dynamic VM inventory is being created with "ansible_host": "<IP_ADDRESS>" which is useless for subsequent roles. Could it be possible to add another condition to ip_cond to avoid the loopback address. Specially when cloud-init parameters have been defined.

Actually it seems like ovirt_vm_facts is only collecting the loopback address in ovirt_vms even after the IPs have been long configured. I'm using the module independently and it gets me the same results.

That's very strange guest-agent shouldn't return IP address of the loopback device. Do you use ovirt-guest-agent or qemu-guest-agent? What version and what system? But anyway, this is good enhancement, so we will introduce new parameter wait_for_ip_range, where you can specify IP range of the IP the user want to wait.

Using RHEV <IP_ADDRESS>-0.1.el7 with ovirt-guest-agent. I'm running Ansible from a management VM to create VMs in RHEV from a RHEL7 template, then configuring them with cloud-init.


Release 1.5.3

1.5.3 (2018-08-09)
Fixes CLI debian packaging
Changes
CLI

Backport: Build: override libxml2 source to avoid ftp (#3328) (#3362)

Test suite

Backport: Ignore CVE-2018-1000539 (#3364) (#3365)

LGTM: v1.5.2...release/1.5.3

(good thing it didn't work, server version was 1.5.2)


Add Line / Bar  - Material Chart

Google has released a new chart type called Material Line Chart. It will be great to add this option into google_visualr gem.

I second this. Love this gem but would love to be able to user Material options too.


Cascade deletes don't seem to work for polymorphic relationships in sqlite

Your Question
Following the constraints documentation  and polymorphic documentation I'm attempting to create a polymorphic relationship in sqlite with cascade deletes.
Here's a minimal code exmaple:
package main

import (
	"github.com/google/uuid"
	log "github.com/sirupsen/logrus"
	"gorm.io/driver/sqlite"
	"gorm.io/gorm"
)

type owner struct {
	ID     uuid.UUID `gorm:"type:uuid;primary_key;"`
	Things []thing   `gorm:"polymorphic:Owner;constraint:OnDelete:CASCADE;"`
}

func (o *owner) BeforeCreate(tx *gorm.DB) error {
	o.ID = uuid.New()
	return nil
}

type otherOwner owner

func (oo *otherOwner) BeforeCreate(tx *gorm.DB) error {
	oo.ID = uuid.New()
	return nil
}

type thing struct {
	ID        uuid.UUID `gorm:"type:uuid;primary_key;"`
	String    string    `gorm:"uniqueIndex:idx_string_owner_id_owner_type"`
	OwnerID   uuid.UUID `gorm:"uniqueIndex:idx_string_owner_id_owner_type"`
	OwnerType string    `gorm:"uniqueIndex:idx_string_owner_id_owner_type"`
}

func (t *thing) BeforeCreate(tx *gorm.DB) error {
	t.ID = uuid.New()
	return nil
}

func main() {
	databaseFile := "./thing.db?_foreign_keys=1"

	database, err := gorm.Open(sqlite.Open(databaseFile))
	if err != nil {
		log.WithFields(log.Fields{
			"error": err.Error(),
		}).Fatal("error opening database")
	}

	var enabled bool
	db, _ := database.DB()
	db.QueryRow("PRAGMA foreign_keys;").Scan(&enabled)
	if enabled {
		log.Info("yes, foreign keys are enabled")
	}

	err = database.AutoMigrate(
		&owner{},
		&otherOwner{},
		&thing{},
	)
	if err != nil {
		log.WithFields(log.Fields{
			"error": err.Error(),
		}).Fatal("error auto-migrating")
	}

	// Create an owner and their thing
	thisOwner := owner{
		Things: []thing{
			thing{
				String: "this thing belongs to an owner",
			},
		},
	}
	err = database.Create(&thisOwner).Error
	if err != nil {
		log.WithFields(log.Fields{
			"error": err.Error(),
		}).Fatal("error creating owner")
	}

	// Create an other owner and their thing
	thisOtherOwner := otherOwner{
		Things: []thing{
			thing{
				String: "this thing belongs to another owner",
			},
		},
	}
	err = database.Create(&thisOtherOwner).Error
	if err != nil {
		log.WithFields(log.Fields{
			"error": err.Error(),
		}).Fatal("error creating other owner")
	}

	// Delete an owner and make sure that it cascades to its thing
	err = database.Delete(&thisOwner).Error
	if err != nil {
		log.WithFields(log.Fields{
			"error": err.Error(),
		}).Fatal("error deleting")
	}
}

I'm expecting the fact that I deleted thisOwner means that that owner's Thing would be deleted as well.  This is not a PRAGMA foreign_keys = ON issue, you can see the database is opened with foreign keys enabled and my code logs that they are.  However:
SQLite version 3.37.0 2021-11-27 14:13:22
Enter ".help" for usage hints.
sqlite> .d
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE `owners` (`id` uuid,PRIMARY KEY (`id`));
CREATE TABLE `other_owners` (`id` uuid,PRIMARY KEY (`id`));
INSERT INTO other_owners VALUES('5518f46f-6a50-4a0c-939f-68966312fde2');
CREATE TABLE `things` (`id` uuid,`string` text,`owner_id` uuid,`owner_type` text,PRIMARY KEY (`id`));
INSERT INTO things VALUES('18690fd2-47f0-4f79-bff7-e4f4e19a3a6c','this thing belongs to an owner','64d58bc1-6e73-470c-a7ae-4ec09c4b6c59','owners');
INSERT INTO things VALUES('325a47f6-1f5a-4a92-9346-5ce596dab2d9','this thing belongs to another owner','5518f46f-6a50-4a0c-939f-68966312fde2','other_owners');
CREATE UNIQUE INDEX `idx_string_owner_id_owner_type` ON `things`(`string`,`owner_id`,`owner_type`);
COMMIT;

It doesn't look like the cascade delete is being defined in the schema, and the orphaned thing is still there.
I can delete with select as a workaround but I shouldn't have to.
The document you expected this should be explained
Is there something I'm missing in the documentation about how to correctly configure this behavior?  Or is this a bug?
Expected answer
There's some sqlite-specific situation I'm encountering that should be documented, or I've overlooked something in the existing documentation.

I can confirm that with a simple has many relationship, the documentation works as expected.
package main

import (
	"github.com/google/uuid"
	log "github.com/sirupsen/logrus"
	"gorm.io/driver/sqlite"
	"gorm.io/gorm"
)

type owner struct {
	ID     uuid.UUID `gorm:"type:uuid;primary_key;"`
	Things []thing   `gorm:"constraint:OnDelete:CASCADE;"`
}

func (o *owner) BeforeCreate(tx *gorm.DB) error {
	o.ID = uuid.New()
	return nil
}

type thing struct {
	ID        uuid.UUID `gorm:"type:uuid;primary_key;"`
	String    string    `gorm:"uniqueIndex:idx_string_owner_id_owner_type"`
	OwnerID   uuid.UUID `gorm:"uniqueIndex:idx_string_owner_id_owner_type"`
	OwnerType string    `gorm:"uniqueIndex:idx_string_owner_id_owner_type"`
}

func (t *thing) BeforeCreate(tx *gorm.DB) error {
	t.ID = uuid.New()
	return nil
}

func main() {
	databaseFile := "./thing.db?_foreign_keys=1"

	database, err := gorm.Open(sqlite.Open(databaseFile))
	if err != nil {
		log.WithFields(log.Fields{
			"error": err.Error(),
		}).Fatal("error opening database")
	}

	var enabled bool
	db, _ := database.DB()
	db.QueryRow("PRAGMA foreign_keys;").Scan(&enabled)
	if enabled {
		log.Info("yes, foreign keys are enabled")
	}

	err = database.AutoMigrate(
		&owner{},
		&thing{},
	)
	if err != nil {
		log.WithFields(log.Fields{
			"error": err.Error(),
		}).Fatal("error auto-migrating")
	}

	// Create an owner and their thing
	thisOwner := owner{
		Things: []thing{
			thing{
				String: "this thing belongs to an owner",
			},
		},
	}
	err = database.Create(&thisOwner).Error
	if err != nil {
		log.WithFields(log.Fields{
			"error": err.Error(),
		}).Fatal("error creating owner")
	}

	// Delete an owner and make sure that it cascades to its thing
	err = database.Delete(&thisOwner).Error
	if err != nil {
		log.WithFields(log.Fields{
			"error": err.Error(),
		}).Fatal("error deleting")
	}
}

Running this creates the correct schema and does a cascading delete:
SQLite version 3.37.0 2021-11-27 14:13:22
Enter ".help" for usage hints.
sqlite> .d
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE `owners` (`id` uuid,PRIMARY KEY (`id`));
CREATE TABLE `things` (`id` uuid,`string` text,`owner_id` uuid,`owner_type` text,PRIMARY KEY (`id`),CONSTRAINT `fk_owners_things` FOREIGN KEY (`owner_id`) REFERENCES `owners`(`id`) ON DELETE CASCADE);
CREATE UNIQUE INDEX `idx_string_owner_id_owner_type` ON `things`(`string`,`owner_id`,`owner_type`);
COMMIT;

Ok, this makes more sense to me now.  The cascade constraint depends on referencing the specific table, and with polymorphism there isn't a specific table to reference.  I was able to accomplish this behavior by having one nullable foreign key for each type of owner structure, each with the constraint.  I think this makes sense to use.
package main

import (
	"github.com/google/uuid"
	log "github.com/sirupsen/logrus"
	"gorm.io/driver/sqlite"
	"gorm.io/gorm"
)

type owner struct {
	ID     uuid.UUID `gorm:"type:uuid;primary_key;"`
	Things []thing   `gorm:"constraint:OnDelete:CASCADE;"`
}

func (o *owner) BeforeCreate(tx *gorm.DB) error {
	o.ID = uuid.New()
	return nil
}

type otherOwner owner

func (oo *otherOwner) BeforeCreate(tx *gorm.DB) error {
	oo.ID = uuid.New()
	return nil
}

type thing struct {
	ID           uuid.UUID  `gorm:"type:uuid;primary_key;"`
	String       string     `gorm:"uniqueIndex:idx_string_owner_id_other_owner_id"`
	OwnerID      *uuid.UUID `gorm:"uniqueIndex:idx_string_owner_id_other_owner_id"`
	OtherOwnerID *uuid.UUID `gorm:"uniqueIndex:idx_string_owner_id_other_owner_id"`
}

func (t *thing) BeforeCreate(tx *gorm.DB) error {
	t.ID = uuid.New()
	return nil
}

func main() {
	databaseFile := "./thing.db?_foreign_keys=1"

	database, err := gorm.Open(sqlite.Open(databaseFile))
	if err != nil {
		log.WithFields(log.Fields{
			"error": err.Error(),
		}).Fatal("error opening database")
	}

	var enabled bool
	db, _ := database.DB()
	db.QueryRow("PRAGMA foreign_keys;").Scan(&enabled)
	if enabled {
		log.Info("yes, foreign keys are enabled")
	}

	err = database.AutoMigrate(
		&owner{},
		&otherOwner{},
		&thing{},
	)
	if err != nil {
		log.WithFields(log.Fields{
			"error": err.Error(),
		}).Fatal("error auto-migrating")
	}

	// Create an owner and their thing
	thisOwner := owner{
		Things: []thing{
			thing{
				String: "this thing belongs to an owner",
			},
		},
	}
	err = database.Create(&thisOwner).Error
	if err != nil {
		log.WithFields(log.Fields{
			"error": err.Error(),
		}).Fatal("error creating owner")
	}

	// Create an other owner and their thing
	thisOtherOwner := otherOwner{
		Things: []thing{
			thing{
				String: "this thing belongs to another owner",
			},
		},
	}
	err = database.Create(&thisOtherOwner).Error
	if err != nil {
		log.WithFields(log.Fields{
			"error": err.Error(),
		}).Fatal("error creating other owner")
	}

	// Delete an owner and make sure that it cascades to its thing
	err = database.Delete(&thisOwner).Error
	if err != nil {
		log.WithFields(log.Fields{
			"error": err.Error(),
		}).Fatal("error deleting")
	}
}

This results in the expected cascade behavior when an owner is deleted.
SQLite version 3.37.0 2021-11-27 14:13:22
Enter ".help" for usage hints.
sqlite> .d
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE `owners` (`id` uuid,PRIMARY KEY (`id`));
CREATE TABLE `other_owners` (`id` uuid,PRIMARY KEY (`id`));
INSERT INTO other_owners VALUES('d3c795f9-f154-48c9-9335-625471901ce7');
CREATE TABLE `things` (`id` uuid,`string` text,`owner_id` uuid,`other_owner_id` uuid,PRIMARY KEY (`id`),CONSTRAINT `fk_owners_things` FOREIGN KEY (`owner_id`) REFERENCES `owners`(`id`) ON DELETE CASCADE,CONSTRAINT `fk_other_owners_things` FOREIGN KEY (`other_owner_id`) REFERENCES `other_owners`(`id`) ON DELETE CASCADE);
INSERT INTO things VALUES('5a50e93d-acc7-4c5b-a794-d2b4d1c99ccc','this thing belongs to another owner',NULL,'d3c795f9-f154-48c9-9335-625471901ce7');
CREATE UNIQUE INDEX `idx_string_owner_id_other_owner_id` ON `things`(`string`,`owner_id`,`other_owner_id`);
COMMIT;


Update README.md

Same here, there are some sketches

 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.

 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.


how can i set mediation for this plugin pleaaase?

i want to use adcolony and vungle mediation for this plugin.  but i dont know how to integrate it inside config.xml file .
any help will be appreciated.

could you solve this?

Hello! Did you guys found any solutions about using AdMob Mediation with this cordova-plugin-admob-free plugin? I'm trying to displays interstitial banners from InMobi ads networks.


Show min-score range in --help

See #392.
Click doesn't seem to display the range automatically so I need to put it in the help message.

Fixed with 5c5b2656ecfd93ae0fea868a1accdc916bba6601


xdg-utils: remove unnecessary input

Description of changes
In the process of #285233 we inadvertently added an unnecessary dependency. For more context see:

https://github.com/NixOS/nixpkgs/pull/285233#issuecomment-1927445510

I'm not able to build this on the system I'm sending the PR from.
@K900 @vcunat
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.05 Release Notes (or backporting 23.05 and 23.11 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

[x] Fits CONTRIBUTING.md.

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

Perhaps just to staging, so that we don't keep invalidating finished builds if it's nothing urgent?

Merged to staging


adding telegram to Auth providers

it would be great if you add telegram to Auth providers
https://core.telegram.org/widgets/login

You can check https://github.com/pocketbase/pocketbase/pull/1561.


Indentify a good candidate for database integration

Possibilities:

https://github.com/ostinelli/ram
https://github.com/cabol/cross_db/blob/master/guides/getting-started.md
https://github.com/epgsql/pgapp
https://www.erlang.org/doc/man/odbc.html
https://github.com/alexeyr/erlang-sqlite3
https://github.com/mmzeeman/esqlite

https://github.com/elixir-sqlite/exqlite is another option. Gold standard would be Ecto integration but that's blocked by Elixir macros. Potentially make a macro wrapper around Ecto? Look into how the Ecto macros are implemented in Elixir.

For PostgreSQL PGO is fab. It's similar to Elixir's Postgrex in desing, but it doesn't have the Elixir dependency.

@lpil Yes! It's in my GH stars :-D

I've been collecting links to database libraries for other Lisp languages for inspiration, here's what I have so far:
Common Lisp

https://github.com/fukamachi/mito/
https://github.com/marijnh/Postmodern
https://clsql.kpe.io/manual/index.html

Clojure

https://github.com/camsaul/toucan2
https://github.com/seancorfield/honeysql
https://www.hugsql.org/
https://github.com/korma/Korma
https://github.com/taylorlapeyre/oj
https://github.com/swlkr/oksql

Racket

https://docs.racket-lang.org/sql/index.html
https://docs.racket-lang.org/deta/index.html - looks a lot like ecto
https://docs.racket-lang.org/racquel/index.html - more of an ORM

Ooo, nice list @John-Goff!

You know, I kinda like the idea of resuscitating this old thing and using it for a default nosql DB :-D

https://github.com/benoitc/memdb


FLIR broken rendering.

Happened with the update #2308
Causes holograms to be invisible, player's aren't rendered (Lights like the physgun glow are, however) Some vehicles/entities aren't rendered, either and is overall is extremely dark and ugly.

It didn't look like that when I tested it. perhaps an addon is conflicting

It didn't look like that when I tested it. perhaps an addon is conflicting

I haven't changed my addons since the last update for FLIR. This should not be the case.

It's probably conflicting with one since the last update

It's probably conflicting with one since the last update

Do you mean that this flir is conflicting with the last flir? Just to confirm I joined my regular server in which this was taken with all my addons disabled and the result was the same.

It would be a problem of the server's addons, not your own.

@kerbalcadet any idea what it could be?

huh, I don't actually quite know. @Hazeofdream, just to make sure make a preset without any other addons. If you know any lua, the FLIR file is pretty simple. Feel free to DM me or what have you.

It's probably another addon conflicting with entity's RenderOverride

If it was working before, then something in https://github.com/wiremod/wire/commit/ce8531220f97bd171f58f6523d8ccb56be9bfda1 introduced the conflict

It would be a problem of the server's addons, not your own.

Interestingly enough, I confirmed that other people of said server do not have that problem.
I did find this error however whenever FLIR was triggered.
Requesting texture value from var "$basetexture" which is not a texture value (material: pp/bokehblur) Requesting texture value from var "$depthtexture" which is not a texture value (material: pp/bokehblur) Requesting texture value from var "$basetexture" which is not a texture value (material: pp/copy)

Even more odd, The FLIR actually works properly when I'm clipped inside the map!

Try verifying your gmod files

Try verifying your gmod files

Found the problem, [https://github.com/wiremod/wire/commit/ce8531220f97bd171f58f6523d8ccb56be9bfda1]ce85312(url) causes flir to be broken if you disable the skybox with r_3dsky 0

Looking at the gmod wiki https://wiki.facepunch.com/gmod/GM:PostDrawOpaqueRenderables "In case of 2D skyboxes it is possible for this hook to always be called with this parameter set to true."
Then this line would be causing the issue https://github.com/wiremod/wire/blob/master/lua/wire/flir.lua#L103

@Hazeofdream @kerbalcadet could you guys see if its fixed now


[Feature Request] Invitation system for organizations

Introduction
Currently everyone can add people to their organization without their consent. This could lead to a serious problem in the future regarding spamming or trolling.
Proposal
Let's say there is Alice and Bob. Alice has an organization and wants Bob to join her. So Alice navigates to her organization and chooses a proper team for Bob. Alice then needs to type in Bob's username and afterwards she hits the Add Team Member button.

Until now everything is exactly the same as the current procedure but instead of Bob just being added to the team, he receives an E-Mail where he is being asked to join. Bob can now choose whether he accepts or declines the invitation (via a button, a link, or something). Only if he accepts, he will get added to the team.
If Bob does not respond to the invitation for a specified amount of time, the invitation will expire.
No matter what Bob does, Alice will be notified so she can react properly.
Credits
The main idea of this feature request comes from a codeberg user. Unfortunately, they have deleted their account but the issue is still open on our side at codeberg.
See: codeberg for further information.

must be solved similar to https://github.com/go-gitea/gitea/pull/14792


targets: Add sample target for controller on NRF5340 bsp

This adds sample target for building NimBLE controller (blehci app)
for Nordic NRF5340. It is used by default when combine image build
is used for nordic_pca10095 bsp.
Sample target should be used as a base for creating customized targets.
This targets nordic_pca10095_net bsp, custom targets should point to
appropriate BSP.
~### Warning !!!
This target in this form is full of random settings accumulated over time
It would be good if @andrzej-kaczmarek or @sjanc  of @rymanluk could
help with keeping only sensible stuff here.~

since nrf53 has dedicated core and flash for radio, I'd go with full scale controller here,  so enable all features supported:)

since nrf53 has dedicated core and flash for radio, I'd go with full scale controller here, so enable all features supported:)

Is there a setting like ENABLE_ALL_FEATURES: 1 to be used in this case?

MSYS_1_BLOCK_COUNT: 12
MSYS_1_BLOCK_SIZE: 292
BLE_LL_CFG_FEAT_DATA_LEN_EXT: 1
BLE_LL_CFG_FEAT_LE_2M_PHY: 1
BLE_LL_CFG_FEAT_LE_CODED_PHY: 1
BLE_LL_CFG_FEAT_LL_PRIVACY: 1
BLE_LL_CFG_FEAT_CTRL_TO_HOST_FLOW_CONTROL: 1
BLE_LL_CONN_INIT_MAX_TX_BYTES: 251
BLE_LL_CONN_INIT_SLOTS: 4
BLE_LL_DTM: 1
BLE_LL_DTM_EXTENSIONS: 1
BLE_LL_VND_EVENT_ON_ASSERT: 1
BLE_MAX_CONNECTIONS: 5
BLE_EXT_ADV: 1
BLE_EXT_ADV_MAX_SIZE: 1650
BLE_MAX_PERIODIC_SYNCS: 5
BLE_MULTI_ADV_INSTANCES: 5
BLE_PERIODIC_ADV: 1
BLE_PERIODIC_ADV_SYNC_TRANSFER: 1
BLE_HCI_TRANSPORT: nrf5340
BLE_VERSION: 51

This is config I'm using for testing, since we have plenty of RAM just for netcore we can be generous with MSYS configuration :)

Settings recommended by @sjanc applied.
Added on setting that can be removed later
   IPC_NRF5340_BUF_SZ: 1024


Refresh a page on firefox causes it to refresh many times

Whenever I try to refresh a page, it causes Firefox to reload infinity times, but this only happens on firefox. I have tried on Microsoft Edge and Google Chrome and on both it works just fine.

Hey, @WilliamCSA04!
We tried to reproduce this issue here, but no success.
We gently ask for the code of an minimum example focused in the case where the bug happens, it would be of essential help!
Good full-stacking there :)

@GuiDevloper hello!
I have tried to create a project with this same error, but I believe that these bugs only happen on bigger projects, because before that did not happened. I have showed that to @Mortaro so he has access to the code base that we are using.

I have created a new project to test Firefox hot reload and seems that is working just fine on next. Even tho there was an error message the page successfully reloaded.
{
  "name": "firefox-bug",
  "version": "0.0.1",
  "description": "",
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "nullstack": "github:nullstack/nullstack#next"
  },
  "scripts": {
    "start": "npx nullstack start",
    "build": "npx nullstack build --mode=ssr"
  }
}


Tweak all MS MARCO V2 regressions to use 24 indexing threads

Rebuild out-of-date documentation pages.

Codecov Report
Base: 58.94% // Head: 58.94% // No change to project coverage :thumbsup:

Coverage data is based on head (bd45270) compared to base (505594b).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master    #2022   +/-   ##
=========================================
  Coverage     58.94%   58.94%
  Complexity     1141     1141
=========================================
  Files           187      187
  Lines         10910    10910
  Branches       1486     1486
=========================================
  Hits           6431     6431
  Misses         3989     3989
  Partials        490      490

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

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


Add options to derive node address without specifying snooping device

It's impossible to have multiple cilium instances across multiple nodes (a.k.a. K8s DaemonSets) with the same cilium configuration on all nodes.
We currently have the flag -d/--snoop-device to derive the IP addresses for the cilium interfaces but since we don't (yet) support snooping + VxLAN, this doesn't work if the user wants to derive the IP addresses for the cilium interface without snooping mode and run in VxLAN mode.
I'm proposing to add a new option like --derive-cilium-ip-from. When this options is set, this will be the interface to select the IPs for the cilium config.NodeAddress

I agree that we need to add a capability to derive this piece of configuration.
I think we want to provide multiple options here:

If possible, derive the node address from the Kubernetes context. Is this exposed somehow?

As a fallback I'm fine with what you propose although I would call the option --derive-node-address.

Since I ported configuration to cobra and viper, we can also easily add deriving configuration from a kvstore which could be a solution to this problem as well.

If possible, derive the node address from the Kubernetes context. Is this exposed somehow?

Right now it's explained here, where should I also document this?

Right now it's explained here, where should I also document this?

That's fine, we'll add it to the documentation.


Implement Transport Security

Are wss connections (secured by TCP) supported?
http://blog.kaazing.com/2012/02/28/html5-websocket-security-is-strong/
Or is there some other way to secure the transmission of the logs?

+1

Does the ftw gem already support wss/https? Is that the question?
The ftw readme seems to indicate that it does: https://github.com/jordansissel/ruby-ftw#websockets. See the comment in the code snippet:
# 'http(s)' or 'ws(s)' urls are valid here. They will mean the same thing.
websocket = agent.websocket!("http://somehost/endpoint")

OH sorry, should mention that it seems that the websocket part of this logstash plugin uses the ftw ruby gem to connect and communicate with a websocket server. So if that supports TLS then I would think it should be built in for this plugin. However, I have not tried it...

Could you guys verify that it works? For me, ws works, but wss fails with an error. I'm no ruby developer, so I don't know how to debug this.
Works (configuration):
url => "ws://<IP_ADDRESS>:8234/?param=logstash"

Fails to connect (configuration):
url => "wss://<IP_ADDRESS>:8234/?param=logstash"

Logs:
websocket input client threw exception, restarting {:exception=>#<NoMethodError: undefined method `redirect?' for nil:NilClass>, :level=>:warn}

Hi! Any update about this issue? I'm trying to use the input plugin with "wss" protocol configured with a certificate generated by http://www.selfsignedcertificate.com/ and converted in pfx with https://www.sslshopper.com/ssl-converter.html.
My server is done with Fleck (C#) and it works with simple javascript client running on the same machine of logstash.
Thank you very much for your project!!!

Hi,
how did you configure SSL? I did't find this configuration in websocket-input-plugin.
Thanks

Could you guys verify that it works? For me, ws works, but wss fails with an error. I'm no ruby developer, so I don't know how to debug this.
Works (configuration):
url => "ws://<IP_ADDRESS>:8234/?param=logstash"

Restart server @ <IP_ADDRESS>/8234 in secure mode.
Fails to connect (configuration):
url => "wss://<IP_ADDRESS>:8234/?param=logstash"

Logs:
websocket input client threw exception, restarting {:exception=>#<NoMethodError: undefined method `redirect?' for nil:NilClass>, :level=>:warn}

Edit: Added the fact that the server is restarted in secure mode. Other wss clients can connect with a wss url in this mode.

Hi @timhurkmans , I have the same problem as you, have you found the solution?
I'm trying to read from a secure websocket with token and there's no way
:(

I have this errors:
Why it's untrusted: (20) unable to get local issuer certificate
Why it's untrusted: (27) certificate not trusted`
I think they are related to ruby-ftw

Hi, is there any update on this issue or a temporary solution? I am currently receiving: [WARN ][logstash.inputs.websocket] websocket input client threw exception, restarting {:exception=>#<OpenSSL::SSL::SSLError: Received fatal alert: handshake_failure>} for my config:
input {
  websocket {
    mode => "client"
    url => "wss://localhost/ws"
  }
}

I suspect the handshake_failure problem is the one described in https://github.com/jordansissel/ruby-ftw/issues/31, for which there appears to be no simple way forward.


Use os_sys_calls in all code paths to replace raw syscalls

Description:

This PR seeks to address remaining changes for cross-platform code (ultimately for Windows support) that apply to the linux and os/x code paths in order to consolidate the necessary patch review requirements.
The subsequent PR(s) should largely avoid changes impacting the current working linux and os/x code paths and should be targeted mainly at Windows code.
Primarily adds usage of os_sys_calls instead of directly using syscalls for various network and test sources.
Addresses a reoccurring issue that only linux/posix allows for connection to an any-address. On Windows and in general, this makes no sense so several tests are adjusted to explicitly connect to the loopback address instead of the "any" address.
Includes changes to simplify platform specific includes/macros
Coalesces between platforms (posix/Windows) and hopefully simplifies the implementation of io_socket_handle_impl
Risk Level: Low
Testing: Local Linux gcc and Windows MSVC
Docs Changes: N/A
Release Notes: N/A

Circle CI failing due to https://github.com/envoyproxy/envoy/issues/10012
Only //test/extensions/quic_listeners/quiche/integration:quic_http_integration_test fails locally for us

@zuercher any idea how to get CI for this unstuck? looks like the coverage tests failed again on the same flake but not even the sign-off check has run

Confirming CircleCI coverage is failing on the usual flake (same as issue #10012), but this PR appears good to go;
[ RUN      ] Protocols/BufferIntegrationTest.RouterRequestPopulateContentLengthOnTrailers/IPv4_HttpDownstream_HttpUpstream
external/bazel_tools/tools/test/collect_coverage.sh: line 128:  1002 Segmentation fault      (core dumped) "$@"

TEST_STATUS=139
touch /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/sandbox/processwrapper-sandbox/4629/execroot/envoy/bazel-out/k8-fastbuild/testlogs/test/coverage/coverage_tests/shard_27_of_50/coverage.dat
[[ 139 -ne 0 ]]
echo --
--
echo Coverage runner: Not collecting coverage for failed test.

@mattklein123 (or maybe @lizan) I think if this is to be merged without coverage passing one of you is going to have to push the button.

Can you merge master to fix coverage?

Can you merge master to fix coverage?

will do!


Implementing Middlewares

This PR introduces continues the work on authentication. It introduces Middlewares, and a first middleware for authentication.
cc @hannesm

overall looks great (on my mobile phone), do we need to check the expiration of the cookie somewhere? (fine to put this as todo, but I think we need to encode the timestamp when the cookie was issued to compare now - expiration_duration < issuing_timestamp.
I have no idea why the ocamlformat CI errored.

thanks, merged. subsequent changes can follow in new prs


[nanoflann] Update to 1.4.3

Fixes #29354

Update nanoflann to v1.4.3.
No feature needs to test.

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[ ] The "supports" clause reflects platforms that may be fixed by this new version
[ ] Any fixed CI baseline entries are removed from that file.
[ ] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Thanks for the update!


split out forwarder and server into separate classes

Hello,
We have a very weird issue with this class.  We are on Linux and are ONLY trying to install the Splunk forwarder, not the main server.  It turns out, however, that it has been trying to also instantiate the main server classes.  We were getting an error on the license_splunk exec that the splunk command was not found.
@gregswift and I have been banging our heads on this for a couple days, and found out that it works if the two execs for the main Splunk server were removed from the path.
This would seem to indicate that somehow it is realizing wildcard services in a way that is inconsistent with how it is being called.  We scrutinized our code and the code in this module, and can not find any code path that should be realizing these services.
We see this issue on Puppet 3.  On our Puppet 2 standup (which is on its way out), it works as expected.  We have not tried Puppet 4.
Obviously we're open to a better way to do this.  Or it may be a bug in this module or in Puppet itself.  We're just submitting this PR to give a heads up on the problem and to see if anyone else has hit it or has another idea for a solution.
Thank you!

The issue we were seeing was:
Info: Applying configuration version '1467137689'
Error: Could not find command 'splunk'
Error: /Stage[main]/Splunk::Platform::Posix/Exec[license_splunk]/returns: change from notrun to 0 failed: Could not find command 'splunk'
Notice: /Stage[main]/Splunk::Platform::Posix/Exec[enable_splunk]: Dependency Exec[license_splunk] has failures: true
Warning: /Stage[main]/Splunk::Platform::Posix/Exec[enable_splunk]: Skipping because of failed dependencies
Notice: /Stage[main]/Splunk::Virtual/Service[splunk]: Dependency Exec[license_splunk] has failures: true
Warning: /Stage[main]/Splunk::Virtual/Service[splunk]: Skipping because of failed dependencies

We don't load the main splunk class... we were able to reproduce with just this block:
 # setup splunk params
    class { '::splunk::params':
      server   => $splunk_server,
    }

    # install splunk forwarder
    class { '::splunk::forwarder':
      pkg_provider => 'yum',
    }

I extracted the license_splunk relationships from the expanded_relationships.dot graph on puppet 2 and puppet3.

We are running Puppet 3.8.1.  (thought we were on 3.8.7 but apparently thats just clients). One of our peer teams is on 3.8.5 and is not seeing the issue. We are going to update and see what happens.

Just updated to 3.8.7, same error.

Hi @yodermk, are you still interested in this PR? If so, can you take a look at the merge conflicts and rebase?

Crud, I didn't see this. Someone else attempted to update to upstream and did apparently this this problem.
I'm on a different team now, and we're working on standing up Puppet 4. We will try the upstream module with that. If it doesn't work I will revisit this.  Thanks!


saying no tickets mined in this block when none is

Resolving issue #245

Looks fine to me. @gozart1 might want to restyle it.

Screenshots are always good for frontend PRs.

@chappjc i hope this helps


Fix sha256 for homebrew formula

Somehow ended up with the wrong sha here?

@fwartner could you please review this PR?
Will appreciate :)

@fwartner could you please review this PR?
Will appreciate :)


Add Timetable tracking into Student

Resolves #76
Added:

Timetable object (with each Day and Period object)
AddCommand support
EditCommand support
Parser support
Addtional tokenizer for Timetable arguments
GUI display
JSON serialization for storage
Respective JUnit Tests
Respective Exceptions

I just realised I haven't updated the UG, will do so together with screenshots :)


Adding postDeployActions

Adding support for post deploy actions to help control VM restart/deallocate outside of the artifact implementation. Because the option is not a breaking change, we update the current definition and still remain backward compatible.

All good.


Script does not run (many C++ errors)

When running the below command:
g++ -o omen_light omen_light.cc -lhidapi-libusb

I receive tons of C++ errors. The full error log is below. Any ideas why? Thanks for the help.
omen_light.cc:7:11: error: ‘uint16_t’ does not name a type
    7 | constexpr uint16_t VENDOR_ID = 0x103c;
      |           ^~~~~~~~
omen_light.cc:5:1: note: ‘uint16_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
    4 | #include <iostream>
  +++ |+#include <cstdint>
    5 | #include <string>
omen_light.cc:8:11: error: ‘uint16_t’ does not name a type
    8 | constexpr uint16_t PRODUCT_ID = 0x84fd;
      |           ^~~~~~~~
omen_light.cc:8:11: note: ‘uint16_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:9:11: error: ‘uint8_t’ does not name a type
    9 | constexpr uint8_t VERSION = 0x12;
      |           ^~~~~~~
omen_light.cc:9:11: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:10:11: error: ‘uint8_t’ does not name a type
   10 | constexpr uint8_t MAX_BRIGHTNESS = 100;
      |           ^~~~~~~
omen_light.cc:10:11: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:13:8: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   13 |   enum class Mode : uint8_t { STATIC = 1, OFF = 5, BREATHING, CYCLE, BLINKING };
      |   ~~~~ ^~~~~
      |        -----
omen_light.cc:13:14: error: use of enum ‘Mode’ without previous declaration
   13 |   enum class Mode : uint8_t { STATIC = 1, OFF = 5, BREATHING, CYCLE, BLINKING };
      |              ^~~~
omen_light.cc:13:21: error: ‘uint8_t’ was not declared in this scope
   13 |   enum class Mode : uint8_t { STATIC = 1, OFF = 5, BREATHING, CYCLE, BLINKING };
      |                     ^~~~~~~
omen_light.cc:13:21: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:13:29: error: default member initializer for unnamed bit-field
   13 |   enum class Mode : uint8_t { STATIC = 1, OFF = 5, BREATHING, CYCLE, BLINKING };
      |                             ^
omen_light.cc:15:8: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   15 |   enum class Type : uint8_t {
      |   ~~~~ ^~~~~
      |        -----
omen_light.cc:15:14: error: use of enum ‘Type’ without previous declaration
   15 |   enum class Type : uint8_t {
      |              ^~~~
omen_light.cc:15:21: error: ‘uint8_t’ was not declared in this scope
   15 |   enum class Type : uint8_t {
      |                     ^~~~~~~
omen_light.cc:15:21: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:15:29: error: default member initializer for unnamed bit-field
   15 |   enum class Type : uint8_t {
      |                             ^
omen_light.cc:21:8: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   21 |   enum class Led : uint8_t { FRONT = 1, CHASE = 2 };
      |   ~~~~ ^~~~~
      |        -----
omen_light.cc:21:14: error: use of enum ‘Led’ without previous declaration
   21 |   enum class Led : uint8_t { FRONT = 1, CHASE = 2 };
      |              ^~~
omen_light.cc:21:20: error: ‘uint8_t’ was not declared in this scope
   21 |   enum class Led : uint8_t { FRONT = 1, CHASE = 2 };
      |                    ^~~~~~~
omen_light.cc:21:20: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:21:28: error: default member initializer for unnamed bit-field
   21 |   enum class Led : uint8_t { FRONT = 1, CHASE = 2 };
      |                            ^
omen_light.cc:23:8: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   23 |   enum class Power : uint8_t { ON = 1, SUSPEND = 2 };
      |   ~~~~ ^~~~~
      |        -----
omen_light.cc:23:14: error: use of enum ‘Power’ without previous declaration
   23 |   enum class Power : uint8_t { ON = 1, SUSPEND = 2 };
      |              ^~~~~
omen_light.cc:23:22: error: ‘uint8_t’ was not declared in this scope
   23 |   enum class Power : uint8_t { ON = 1, SUSPEND = 2 };
      |                      ^~~~~~~
omen_light.cc:23:22: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:23:30: error: default member initializer for unnamed bit-field
   23 |   enum class Power : uint8_t { ON = 1, SUSPEND = 2 };
      |                              ^
omen_light.cc:25:8: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   25 |   enum class Theme : uint8_t {
      |   ~~~~ ^~~~~
      |        -----
omen_light.cc:25:14: error: use of enum ‘Theme’ without previous declaration
   25 |   enum class Theme : uint8_t {
      |              ^~~~~
omen_light.cc:25:22: error: ‘uint8_t’ was not declared in this scope
   25 |   enum class Theme : uint8_t {
      |                      ^~~~~~~
omen_light.cc:25:22: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:25:30: error: default member initializer for unnamed bit-field
   25 |   enum class Theme : uint8_t {
      |                              ^
omen_light.cc:34:8: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   34 |   enum class Speed : uint8_t { OFF = 0, SLOW, MEDIUM, FAST };
      |   ~~~~ ^~~~~
      |        -----
omen_light.cc:34:14: error: use of enum ‘Speed’ without previous declaration
   34 |   enum class Speed : uint8_t { OFF = 0, SLOW, MEDIUM, FAST };
      |              ^~~~~
omen_light.cc:34:22: error: ‘uint8_t’ was not declared in this scope
   34 |   enum class Speed : uint8_t { OFF = 0, SLOW, MEDIUM, FAST };
      |                      ^~~~~~~
omen_light.cc:34:22: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:34:30: error: default member initializer for unnamed bit-field
   34 |   enum class Speed : uint8_t { OFF = 0, SLOW, MEDIUM, FAST };
      |                              ^
omen_light.cc:37:5: error: ‘uint8_t’ does not name a type
   37 |     uint8_t r;
      |     ^~~~~~~
omen_light.cc:37:5: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:38:5: error: ‘uint8_t’ does not name a type
   38 |     uint8_t g;
      |     ^~~~~~~
omen_light.cc:38:5: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:39:5: error: ‘uint8_t’ does not name a type
   39 |     uint8_t b;
      |     ^~~~~~~
omen_light.cc:39:5: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:42:3: error: ‘uint8_t’ does not name a type
   42 |   uint8_t report_id;  // always 0
      |   ^~~~~~~
omen_light.cc:42:3: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:43:3: error: ‘uint8_t’ does not name a type
   43 |   uint8_t reserved;
      |   ^~~~~~~
omen_light.cc:43:3: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:44:3: error: ‘uint8_t’ does not name a type
   44 |   uint8_t version;
      |   ^~~~~~~
omen_light.cc:44:3: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:45:3: error: ‘Mode’ does not name a type; did you mean ‘mode_t’?
   45 |   Mode mode;
      |   ^~~~
      |   mode_t
omen_light.cc:46:3: error: ‘uint8_t’ does not name a type
   46 |   uint8_t custom_color_count;  // total number of custom colors
      |   ^~~~~~~
omen_light.cc:46:3: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:47:3: error: ‘uint8_t’ does not name a type
   47 |   uint8_t custom_color_id;     // the custom color to set. Starting with 1
      |   ^~~~~~~
omen_light.cc:47:3: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:48:3: error: ‘uint8_t’ does not name a type
   48 |   uint8_t reserved2[2];
      |   ^~~~~~~
omen_light.cc:48:3: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:51:3: error: ‘uint8_t’ does not name a type
   51 |   uint8_t reserved3[34];
      |   ^~~~~~~
omen_light.cc:51:3: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:52:3: error: ‘uint8_t’ does not name a type
   52 |   uint8_t brightness;  // 0-100
      |   ^~~~~~~
omen_light.cc:52:3: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:53:3: error: ‘Type’ does not name a type; did you mean ‘typeof’?
   53 |   Type type;
      |   ^~~~
      |   typeof
omen_light.cc:54:3: error: ‘uint8_t’ does not name a type
   54 |   uint8_t reserved4[4];
      |   ^~~~~~~
omen_light.cc:54:3: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:55:3: error: ‘Led’ does not name a type
   55 |   Led led;
      |   ^~~
omen_light.cc:56:3: error: ‘Power’ does not name a type
   56 |   Power power;
      |   ^~~~~
omen_light.cc:57:3: error: ‘Theme’ does not name a type
   57 |   Theme theme;
      |   ^~~~~
omen_light.cc:58:3: error: ‘Speed’ does not name a type
   58 |   Speed speed;
      |   ^~~~~
omen_light.cc: In function ‘bool SendReport(const Report&)’:
omen_light.cc:102:33: error: ‘VENDOR_ID’ was not declared in this scope
  102 |   hid_device* handle = hid_open(VENDOR_ID, PRODUCT_ID, nullptr);
      |                                 ^~~~~~~~~
omen_light.cc:102:44: error: ‘PRODUCT_ID’ was not declared in this scope
  102 |   hid_device* handle = hid_open(VENDOR_ID, PRODUCT_ID, nullptr);
      |                                            ^~~~~~~~~~
omen_light.cc:108:45: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
  108 |   auto* report_ptr = reinterpret_cast<const uint8_t*>(&report);
      |                                             ^~~~~~~
omen_light.cc:108:45: error: expected ‘>’ before ‘uint8_t’
omen_light.cc:108:45: error: expected ‘(’ before ‘uint8_t’
  108 |   auto* report_ptr = reinterpret_cast<const uint8_t*>(&report);
      |                                             ^~~~~~~
      |                                             (
omen_light.cc:108:45: error: ‘uint8_t’ was not declared in this scope
  108 |   auto* report_ptr = reinterpret_cast<const uint8_t*>(&report);
      |                                             ^~~~~~~
omen_light.cc:108:45: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
omen_light.cc:108:53: error: expected primary-expression before ‘>’ token
  108 |   auto* report_ptr = reinterpret_cast<const uint8_t*>(&report);
      |                                                     ^
omen_light.cc:108:63: error: expected ‘)’ before ‘;’ token
  108 |   auto* report_ptr = reinterpret_cast<const uint8_t*>(&report);
      |                                                               ^
      |                                                               )
omen_light.cc: At global scope:
omen_light.cc:124:39: error: ‘Report::Led’ has not been declared
  124 | bool ParseLed(const std::string& arg, Report::Led* led) {
      |                                       ^~~~~~
omen_light.cc: In function ‘bool ParseLed(const std::string&, int*)’:
omen_light.cc:126:20: error: ‘Report::Led’ has not been declared
  126 |     *led = Report::Led::FRONT;
      |                    ^~~
omen_light.cc:128:20: error: ‘Report::Led’ has not been declared
  128 |     *led = Report::Led::CHASE;
      |                    ^~~
omen_light.cc: At global scope:
omen_light.cc:136:41: error: ‘Report::Power’ has not been declared
  136 | bool ParsePower(const std::string& arg, Report::Power* power) {
      |                                         ^~~~~~
omen_light.cc: In function ‘bool ParsePower(const std::string&, int*)’:
omen_light.cc:138:22: error: ‘Report::Power’ has not been declared
  138 |     *power = Report::Power::ON;
      |                      ^~~~~
omen_light.cc:140:22: error: ‘Report::Power’ has not been declared
  140 |     *power = Report::Power::SUSPEND;
      |                      ^~~~~
omen_light.cc: At global scope:
omen_light.cc:148:40: error: ‘Report::Mode’ has not been declared
  148 | bool ParseMode(const std::string& arg, Report::Mode* mode) {
      |                                        ^~~~~~
omen_light.cc: In function ‘bool ParseMode(const std::string&, int*)’:
omen_light.cc:150:21: error: ‘Report::Mode’ has not been declared
  150 |     *mode = Report::Mode::OFF;
      |                     ^~~~
omen_light.cc:152:21: error: ‘Report::Mode’ has not been declared
  152 |     *mode = Report::Mode::STATIC;
      |                     ^~~~
omen_light.cc:154:21: error: ‘Report::Mode’ has not been declared
  154 |     *mode = Report::Mode::BREATHING;
      |                     ^~~~
omen_light.cc:156:21: error: ‘Report::Mode’ has not been declared
  156 |     *mode = Report::Mode::CYCLE;
      |                     ^~~~
omen_light.cc:158:21: error: ‘Report::Mode’ has not been declared
  158 |     *mode = Report::Mode::BLINKING;
      |                     ^~~~
omen_light.cc: In function ‘void ParseColor(char**, Report*)’:
omen_light.cc:168:15: error: ‘struct Report’ has no member named ‘led’
  168 |   if (report->led == Report::Led::FRONT) {
      |               ^~~
omen_light.cc:168:30: error: ‘Report::Led’ has not been declared
  168 |   if (report->led == Report::Led::FRONT) {
      |                              ^~~
omen_light.cc:175:6: error: ‘struct Report::Color’ has no member named ‘r’
  175 |   c->r = std::atoi(argv[0]);
      |      ^
omen_light.cc:176:6: error: ‘struct Report::Color’ has no member named ‘g’
  176 |   c->g = std::atoi(argv[1]);
      |      ^
omen_light.cc:177:6: error: ‘struct Report::Color’ has no member named ‘b’
  177 |   c->b = std::atoi(argv[2]);
      |      ^
omen_light.cc: At global scope:
omen_light.cc:180:41: error: ‘Report::Speed’ has not been declared
  180 | bool ParseSpeed(const std::string& arg, Report::Speed* speed) {
      |                                         ^~~~~~
omen_light.cc: In function ‘bool ParseSpeed(const std::string&, int*)’:
omen_light.cc:182:22: error: ‘Report::Speed’ has not been declared
  182 |     *speed = Report::Speed::SLOW;
      |                      ^~~~~
omen_light.cc:184:22: error: ‘Report::Speed’ has not been declared
  184 |     *speed = Report::Speed::MEDIUM;
      |                      ^~~~~
omen_light.cc:186:22: error: ‘Report::Speed’ has not been declared
  186 |     *speed = Report::Speed::FAST;
      |                      ^~~~~
omen_light.cc: At global scope:
omen_light.cc:194:41: error: ‘Report::Theme’ has not been declared
  194 | bool ParseTheme(const std::string& arg, Report::Theme* theme) {
      |                                         ^~~~~~
omen_light.cc: In function ‘bool ParseTheme(const std::string&, int*)’:
omen_light.cc:196:22: error: ‘Report::Theme’ has not been declared
  196 |     *theme = Report::Theme::CUSTOM;
      |                      ^~~~~
omen_light.cc:198:22: error: ‘Report::Theme’ has not been declared
  198 |     *theme = Report::Theme::GALAXY;
      |                      ^~~~~
omen_light.cc:200:22: error: ‘Report::Theme’ has not been declared
  200 |     *theme = Report::Theme::VOLCANO;
      |                      ^~~~~
omen_light.cc:202:22: error: ‘Report::Theme’ has not been declared
  202 |     *theme = Report::Theme::JUNGO;
      |                      ^~~~~
omen_light.cc:204:22: error: ‘Report::Theme’ has not been declared
  204 |     *theme = Report::Theme::OCEAN;
      |                      ^~~~~
omen_light.cc: In function ‘bool Run(int, char**)’:
omen_light.cc:214:10: error: ‘struct Report’ has no member named ‘version’
  214 |   report.version = VERSION;
      |          ^~~~~~~
omen_light.cc:214:20: error: ‘VERSION’ was not declared in this scope
  214 |   report.version = VERSION;
      |                    ^~~~~~~
omen_light.cc:217:34: error: ‘struct Report’ has no member named ‘led’
  217 |   if (!ParseLed(argv[1], &report.led)) return false;
      |                                  ^~~
omen_light.cc:218:36: error: ‘struct Report’ has no member named ‘power’
  218 |   if (!ParsePower(argv[2], &report.power)) return false;
      |                                    ^~~~~
omen_light.cc:219:35: error: ‘struct Report’ has no member named ‘mode’
  219 |   if (!ParseMode(argv[3], &report.mode)) return false;
      |                                   ^~~~
omen_light.cc:222:18: error: ‘struct Report’ has no member named ‘mode’
  222 |   switch (report.mode) {
      |                  ^~~~
omen_light.cc:223:18: error: ‘Report::Mode’ has not been declared
  223 |     case Report::Mode::OFF:
      |                  ^~~~
omen_light.cc:226:18: error: ‘Report::Mode’ has not been declared
  226 |     case Report::Mode::STATIC:
      |                  ^~~~
omen_light.cc:229:14: error: ‘struct Report’ has no member named ‘custom_color_count’
  229 |       report.custom_color_count = 1;
      |              ^~~~~~~~~~~~~~~~~~
omen_light.cc:230:14: error: ‘struct Report’ has no member named ‘custom_color_id’
  230 |       report.custom_color_id = 1;
      |              ^~~~~~~~~~~~~~~
omen_light.cc:231:14: error: ‘struct Report’ has no member named ‘brightness’
  231 |       report.brightness = MAX_BRIGHTNESS;
      |              ^~~~~~~~~~
omen_light.cc:231:27: error: ‘MAX_BRIGHTNESS’ was not declared in this scope
  231 |       report.brightness = MAX_BRIGHTNESS;
      |                           ^~~~~~~~~~~~~~
omen_light.cc:232:14: error: ‘struct Report’ has no member named ‘type’
  232 |       report.type = Report::Type::STATIC;
      |              ^~~~
omen_light.cc:232:29: error: ‘Report::Type’ has not been declared
  232 |       report.type = Report::Type::STATIC;
      |                             ^~~~
omen_light.cc:235:18: error: ‘Report::Mode’ has not been declared
  235 |     case Report::Mode::BREATHING:
      |                  ^~~~
omen_light.cc:236:18: error: ‘Report::Mode’ has not been declared
  236 |     case Report::Mode::CYCLE:
      |                  ^~~~
omen_light.cc:237:18: error: ‘Report::Mode’ has not been declared
  237 |     case Report::Mode::BLINKING:
      |                  ^~~~
omen_light.cc:239:40: error: ‘struct Report’ has no member named ‘speed’
  239 |       if (!ParseSpeed(argv[0], &report.speed)) return false;
      |                                        ^~~~~
omen_light.cc:240:40: error: ‘struct Report’ has no member named ‘theme’
  240 |       if (!ParseTheme(argv[1], &report.theme)) return false;
      |                                        ^~~~~
omen_light.cc:242:14: error: ‘struct Report’ has no member named ‘brightness’
  242 |       report.brightness = MAX_BRIGHTNESS;
      |              ^~~~~~~~~~
omen_light.cc:243:14: error: ‘struct Report’ has no member named ‘type’
  243 |       report.type = Report::Type::CHANGING;
      |              ^~~~
omen_light.cc:243:29: error: ‘Report::Type’ has not been declared
  243 |       report.type = Report::Type::CHANGING;
      |                             ^~~~
omen_light.cc:245:18: error: ‘struct Report’ has no member named ‘theme’
  245 |       if (report.theme == Report::Theme::CUSTOM) {
      |                  ^~~~~
omen_light.cc:245:35: error: ‘Report::Theme’ has not been declared
  245 |       if (report.theme == Report::Theme::CUSTOM) {
      |                                   ^~~~~
omen_light.cc:249:16: error: ‘struct Report’ has no member named ‘custom_color_count’
  249 |         report.custom_color_count = argc / 3;
      |                ^~~~~~~~~~~~~~~~~~
omen_light.cc:250:36: error: ‘struct Report’ has no member named ‘custom_color_count’
  250 |         for (int i = 0; i < report.custom_color_count; ++i) {
      |                                    ^~~~~~~~~~~~~~~~~~
omen_light.cc:251:18: error: ‘struct Report’ has no member named ‘custom_color_id’
  251 |           report.custom_color_id = i + 1;
      |                  ^~~~~~~~~~~~~~~
omen_light.cc:258:16: error: ‘struct Report’ has no member named ‘custom_color_count’
  258 |         report.custom_color_count = 1;
      |                ^~~~~~~~~~~~~~~~~~
omen_light.cc:259:16: error: ‘struct Report’ has no member named ‘custom_color_id’
  259 |         report.custom_color_id = 1;
      |                ^~~~~~~~~~~~~~~

looks like #include  is missing. It should fix the errors. Will patch it later.

Fixed.


Represent Node() Objects as Empty Circles when Theme is Applied

Is your feature request related to a problem? Please describe.
It is not really a problem, but when a theme is applied with only Node() objects a black space is returned where an icon usually goes.
Describe the solution you'd like
Set the default to an empty circle so that there is an object represented in the space.
Describe alternatives you've considered
None.
Additional context
This is just a quality of life thing.  Not urgent.

This was solved by adding a default.png file under the general > blank provider and creating logic in core to use that if the Default theme is not used.

This was solved by adding a default.png file under the general > blank provider and creating logic in core to use that if the Default theme is not used.


Generalize the method adding our 2i2c staff to all hubs

Context
We need to ensure all of our new people have access to our hubs ( currently hardcoded into helm-charts/basehub/values.yaml ).  Is the "right" solution just to continue to add people to this growing list? Or should there be a more general solution (like a 2i2c-org github team).  I'd appreciate someone from engineering picking up this task so that Harold, April, Angus, and Giuliano have access to all of our hubs and especially https://showcase.2i2c.cloud
Proposal
The quick solution is to just at the GitHub usernames for our newly onboarded people to helm-charts/basehub/values.yaml (this may already be implicit in our onboarding procedures).
Given that this is something that could be automated, could we implement something that the members of a '2i2c GitHub staff team' be to the source for this list of people?  I realize that not all hubs use GitHub or CILogin for authentication so perhaps that is why we need to hardcode these user names.
Is possible to code up some sort of GitHub action so that changing the membership in the 2i2c GitHub staff team automatically changes the list of names that are hardcoded in helm-charts/basehub/values.yaml.
Updates and actions
I am asking @2i2c-org/engineering to discuss and implement a way to accomplish this that is secure and automated OR to decide that continuing to add names manually still is the recommended approach.

I realize that not all hubs use GitHub or CILogin for authentication so perhaps that is why we need to hardcode these user names.

Yes, this is the primary reason we have things set up the way they are.

The quick solution is to just at the GitHub usernames for our newly onboarded people to helm-charts/basehub/values.yaml (this may already be implicit in our onboarding procedures).

My suggestion is to just make this explicit, and make it part of the onboarding checklist. I think anything else is going to currently take a disproportionate amount of resources, and be fiddly.

I realize that not all hubs use GitHub or CILogin for authentication so perhaps that is why we need to hardcode these user names.

I think all but one (utoronto) allows us in 2i2c to login with either github or google users (we update two lists, one for github accounts and one for google accounts). We also provide admin right as well to most huns, not just the normal access to start a server etc.
I currently see the technical alternatives I've considered as too complicated to be valuable enough to develop/document/maintain, so I'm currently favoring we retain the current strategy.

Another reason we hard code in helm values is that this is how 2i2c get admin rights to the hub (not just access). There is no current mechanism that supports giving admin rights to a GitHub team.
+1 for making it an explicit checkpoint in onboarding
Jenny already made a PR, is there somewhere else this infor needs to be? https://github.com/2i2c-org/team-compass/pull/783

Handled by https://github.com/2i2c-org/team-compass/pull/783


Refactor Update Resource

Fixes #190, #204
This is a somewhat rough WIP that works for string updates.
TODO:

[x] Add boolean update method
[x] Update test(s) as necessary
[x] Refactor after #217

Note: this calls the UpdateItem method for each change detected in a record. This seems the most reliable approach in generated a dynamic UpdateExpression but will continue to review as I complete this PR.

@aaron-collier needs a rebase.

@jcoyne @eefahy @cmh2166 rebased and ready for another review.

@aaron-collier please rebase.


Refactor of data dispatch to not render all the table cells

Improve drastically the performance with isolated datadispatches using Context storage options of React

A possible idea of store strategy => https://github.com/pmndrs/zustand


Revert "adopt atomic write for userdata (#187038)"

This reverts commit 1157e96e241152529a1351fd93b33994bfb5e72d.
The commit was causing
code-insiders --install-extension ms-python.python
Installing extensions...
Error while installing extensions: ENOPRO: No file system provider found for resource 'vscode-userdata:/c%3A/Users/aamunger/.vscode-insiders/extensions/extensions.json'
ENOPRO: No file system provider found for resource 'vscode-userdata:/c%3A/Users/aamunger/.vscode-insiders/extensions/extensions.json'

@sandy081 sorry that we had to revert the commit to fix cli since we don't have the knowledge to fix it properly.

@rebornix Thanks for doing this. I would like to push the real fix if it is ok? I disabled the auto merge for now.


packet browser missing port splits

some how the port number splits have dissapeared

fixed, just missing the gen2 device version info


Updating and checking documentation for security impacts

Need to update Completing advance tasks content to use an example path.
Also need to check that the rest of the content includes appropriate code examples.

Closing with PR 2530.


WFLY-4452 Remove unused class; logic is now handled via org.jboss.as.…

…clustering.infinispan.subsystem.InfinispanSubsystemServiceHandler
This guy slipped through!

Windows Build 2423 is now running using a merge of 6073f6d89f1727dc618e08c9af7aecfd589afced

Linux with security manager Build 2238 is now running using a merge of 6073f6d89f1727dc618e08c9af7aecfd589afced

Linux Build 7376 is now running using a merge of 6073f6d89f1727dc618e08c9af7aecfd589afced

Linux with security manager Build 2238 outcome was SUCCESS using a merge of 6073f6d89f1727dc618e08c9af7aecfd589afced
Summary: Tests passed: 889, ignored: 288 Build time: 0:06:41

Linux Build 7376 outcome was SUCCESS using a merge of 6073f6d89f1727dc618e08c9af7aecfd589afced
Summary: Tests passed: 3082, ignored: 368 Build time: 0:49:23

Windows Build 2423 outcome was FAILURE using a merge of 6073f6d89f1727dc618e08c9af7aecfd589afced
Summary: Tests failed: 1 (1 new), passed: 3081, ignored: 368 Build time: 0:51:17
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.clustering.messaging.ClusteredMessagingTestCase.testClusteredTopic: <no details avaliable>

Unrelated failure.


gau: init at 1.1.0

Motivation for this change
getallurls (gau) fetches known URLs from various sources for any
given domain.
https://github.com/lc/gau
Related to #81418
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

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

1 package built:

gau


Remove enivroment moment banner ab test

What does this change?
Remove the fancy vs simple ab test for the enviroment moment banner as per this card.

yeah good point! they're gone!


Disable automatic execution of setup service via Compose profile

A thread to discuss whether or not it would make sense to guard the execution of the setup script using a Compose profile.
Context
This mechanism allows excluding selected services from regular executions of docker-compose up, unless those services are explicily listed on the command line. It is particularly useful for one-offs (init scripts, ...), automated tests, etc.
We already leverage profiles on the tls branch for generating TLS certificates and private keys using docker-compose up tls:
https://github.com/deviantony/docker-elk/blob/1370c343f99e4e5288f1f88420a16385a4527f8f/docker-compose.yml#L14-L16
Proposal
I've been thinking about using the same mechanism for the setup script.
Right now, setup runs on every execution of docker-compose up (and exits when done). This is fine because, upon successful execution, the script creates a lock file to prevent subsequent runs and avoid overriding existing roles and users on every startup.
However, creating this container every time isn't essential, and we could as well document the fact that people need to run docker-compose up setup the first time they spin up their stack.

✅ Pros
❌ Cons

Explicit, clear intent
Must be run manually (once)

Setup output not tangled with verbose ES logs
Requires Compose 1.28.0

No unnecessary container creation

No lock to delete manually to re-execute the setup

Adding an additional setup profile seems worth the change, the added work of running an additional command the cleaner output and re executing is made easier. Therefore I'd say the Pros outweigh the Cons, at least from personal experience

@nikgame33 appreciate the feedback, thanks!
The only thing I'm worried about is people who don't read the docs (there are very very many) and will open issues asking why things don't work when they clone the repository and run docker compose up.
I guess we could make it clear by adding a tl;dr with the commands to run at the very top of the README, and updating the demo GIF.


fix: increatese timeout to prevent failure in CI

Description
release e2e-test happy path fails in CI , to fix issue we increased the timeout
HACBS-1572
https://issues.redhat.com/browse/HACBS-1572
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist:

[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("[test_id:01] DEVHAS-62 devfile source")
[ ] I have updated labels (if needed)

/retest

This failed with GitHub 409 errors when creating the components. I filed a bug for this in the DEVHAS Jira project before shutdown. I think we need application-service team to prioritize it. I'm seeing a reoccurring pattern with this particular case.

/test redhat-appstudio-e2e

And Danny's JIRA: https://issues.redhat.com/browse/DEVHAS-211

Perhaps it would be a good opportunity to increase the other 1 second timeouts as well.

@kasemAlem, can we bump the 1 second timeouts to 1 minute? We're seeing the release tests fail very often due to timeout issues. 1 second is really quite a gamble (that we often lose).


Add SPARQL query result type assertions

This PR is intentionally filed with a patch based on main.  In anticipation of a case-utils release in the next two weeks, and for lack of recollection of downstream module importers of case_utils.case_sparql_select (and _construct), there might not be need of a 0.9.1 release to cover a two-week gap.

Once CI passes, I am fine with this being merged.  Taking it out of draft now.

Once CI passes, I'm fine with this being merged.  But, CI must pass.


The user mover is not able to migrate the geocoder-api client extension

Not sure of whether it is just about having the extension available in $(pg_config --sharedir) but we need to make sure ti works as expected face to geocoder api v2.
cc/ @azamorano @ethervoid

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.


Should runBioSimulations generate UUIDs or use MongoIDs

Currently we are generating 128-bit UUIDs for each simulations. Having the UUID is sufficient to retrieve the results of each simulation.
MongoDB is already assigning  96-bit ids for each document. The MongoID is slightly more guessable, discussion here, but neither method provides absolute protection from guessing (and arguably is not needed for runBiosimulations).
Using the MongoID for the simulation results can simplify some of the logic.
@jonrkarr

Do you think this would be okay for the purposes of the web server issue?

Would this be sufficient for BioSimulations as well? That is, if a private model on BioSimulations is run, it will be sent to the runBioSimulations API as if it were submitted from the runBioSimulations frontend. This means that anyone that can guess the MongoID of the run will be able to retrieve the results. This can be remedied by including a parameter/flag for runs that originate from the BioSimulations Platform and not returning the results without authentication for those runs.

@gmarupilla  Would using the MongoID be any different in terms of the HPC file structure?

I think the 96-bit UUID is sufficient. The 128-bit UUIDs we're generating would be fine too. Of course any password can be guessed, but guess won't be easy.

@bilalshaikh42 For HPC structure, it won't change anything.

#1484  will be using the default MongoID to refer to simulation runs

@jonrkarr


[1/2] Collaborative Strategy

What does this PR do?
Related #12647
This PR represents the code portion of the strategy. The next PR will be the documentation.
Does your PR introduce any breaking changes? If yes, please list them.
None
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you list all the breaking changes introduced by this pull request?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃
cc @borda @akihironitta @justusschock

Huge thanks @awaelchli @justusschock for going through and reviewing, really appreciate it ❤
Two things I need to address:

Maybe we should consider inheriting from the SingleDeviceStrategy instead as currently only single device is supported?
Should we mark this strategy as experimental/stable?

Maybe we should consider inheriting from the SingleDeviceStrategy instead as currently only single device is supported?

IMO we shouldn't do that. It has one single device per process, but in total allows training on many devices. That way it behaves like an elastic multi-node DDP if the processes are spawned externally.

Should we mark this strategy as experimental/stable?
Given most of this code is a wrapper over hivemind, I think calling it experimental is a bit overkill but I can be swayed either way

I think, I'd still mark it as experimental. This gives us more freedom to change stuff (like the per-node DDP thingy you mentioned).
Also we can mark it as stable whenever we want later on.
I think marking this directly as stable may yield false expectations from users.

Lots of untested pieces of code, making a TODO list:

Test the batch size finder throws the error when unsuccessful
Test the endpoint is setup correctly when a URL is passed in
Test that get_peers is called the correct number of times based on retry_initial_peers (probably want to change this to retry_endpoint


window.OCRAD is not a function error

first of all, thanx so much for the library...
after fighting with dependencies, finally the project is running under ionic serve, but once i chose the option of scanning the image that already exists with the project demo_image, i got this error once i hit the button scan
i think the orcad.js file which is in the lib directry is not imported in the home.ts file.
Any help would be more than appertiated

check that you have included the script in the index.html

I added

Still it's not working..!!! :( @pinheirorb

you want to install ocard.js
npm install ocrad.js
and you have included it into index.html
`

`


Fix servicemonitors for pub/sub FLP

ServiceMonitor in FLP uses the builder's label selector for targets
Refactor a bit FLP reconcilers to move some data in a common struct
Add tests on generated names/labels in pub/sub/monolith scenarios
More consistent naming in builders

I think you need to merge it, I can't do it myself


[IoTHub] Breaking Changes for manual-failover command

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

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

[x] I adhere to the Command Guidelines.

@Juliehzl please help with this PR.

There is no usage request for --failover-region for the past 30 days. Breaking change is acceptable.


Embed default shaders into the provided lights

When someone uses this library they should be able to include a light class and start up a scene without having to first set up any shaders. This will help initial startup time a ton.
Users will still be able to create their own lights using custom shader programs if they want.

I can use https://github.com/schovi/baked_file_system to load in a folder and then access them at run time.


Modelsim/Questa workaround in axistream_vvc.vhd

Hi
In axistream_vvc.vhd, the commit with tag v2.1.0 replaced the record-port version of the axistream_transmit-call with a discrete call version in the TRANSMIT case. The reason is that SIGSEGV mentioned in the comment above.
I guess the cases RECEIVE and EXPECT require the same fix. I currently comment those cases, because they trigger the same SIGSEGV. I tried this with Questa 10.3d and 10.5c
Thanks for the library!
Best regards,
emanuel

My mouse is faster than me...

Hi Emanual,
Thank you for the feedback.
Strange, we didn't get the fatal error on the receive and expect methods. We'll look into why the record-port versions causes fatal errors in Questa as soon as possible.
We have added a similar fix for receive and expect as we did for transmit, so this should work fine while we investigate further.
Best regards
Andre

Hi Andre
Thanks, your fix works for me.
Do you report such bugs to Mentor? Or should I file a bug?
Best regards,
emanuel

Hi Emanuel,
It would be great if you could report it.
Tool users tend to get more attention ;-)
Best regards
Espen
From: fjaelltrollet<EMAIL_ADDRESS>Sent: Tuesday, March 28, 2017 12:00 PM
To: UVVM/UVVM_All
Cc: Support; Comment
Subject: Re: [UVVM/UVVM_All] Modelsim/Questa workaround in axistream_vvc.vhd (#15)
Hi Andre
Thanks, your fix works for me.
Do you report such bugs to Mentor? Or should I file a bug?
Best regards,
emanuel
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/UVVM/UVVM_All/issues/15#issuecomment-289722265, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQAGEcl66Zw3cvd_EjYhve3zBXTLMo4kks5rqNo4gaJpZM4MoEEP.

Ok, I finally filed a SR. Let's see what happens...
BR/emanuel

Hi Emanuel,
Was this issue resolved?
Best regards,
Erick

Hi Erick
I recently checked the SR - I did not get any update there, the SR is still open.
I have to admit that I'm not using UVVM since quite some time, so I haven't tested it either. I'll try to find some time for test with newer questa versions.
Best regards,
emanuel

Hi Emanuel,
It would be great if you could let us know if it worked whenever you get time to test it.
Best regards,
Erick

This issue has been fixed in Questa. Tested with version 2019.1
We will change to the original record-version of the procedure calls in the next release.


Replace warnings.DeprecationWarning with just DeprecationWarning

As per this issue, an error is thrown:
AttributeError: module 'warnings' has no attribute 'DeprecationWarning'
because DeprecationWarning should be referenced as a standalone class rather than as warnings.DeprecationWarning.

Duplicated by https://github.com/slundberg/shap/pull/2943


K-anonymity of HCA's database

Description of the task:

We are interested in knowing what's currently our k-anonymity score, based on donor and project information.
Acceptance criteria for the task:

[ ] The full database has been downloaded, with one row per donor including the project information
[ ] A screening of the features that have to be dropped or added has been performed
[ ] Current k-anonymity score has been computed

Gabs, Tony, Irene and Enrique had a meeting and discussed this yesterday. Irene and Enrique to meet tomorrow to see if this is possible with the expected timeframe.

@ipediez and @ESapenaVentura had a meeting yesterday for reporting this, waiting on @tburdett 's feedback

@ipediez and @ESapenaVentura reviewed document and are okay with it


Adding pipeline to deploy the new image on master

@ryanckoch Please review.

Pipeline builds and pushes to quay
Deploys to k8s sjc prod

FYI @saucelabs/autdev

👍


Improve 'introduce variable'

make it possible to extract a prefix of an expression statement (e.g.
<|>foo.bar()<|>.baz())
don't turn the last expression in a block into a let statement
also fix a few typos

Excellent, thank you so much for this!
bors r+

Thanks for the fast merge!


docs: add repository map to README.md

Adding a link to the high-level diagrams including module, library dependency and others (https://sourcespy.com/github/nasajplosrandroidapp/). Built directly from source and updated on schedule. Intended to simplify developer's introduction to the project. In the spirit of transparency - I am the author of the diagrams.

@mikcox Michael, any chance you can take a look at this? Thanks!


Merge from upstream

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 9 committers have signed the CLA.:x: sainttail:x: garrettmoon:x: maicki:x: jparise:x: nguyenhuy:x: msqr:x: Adlai-Holler:x: bkase:x: 2015lymYou have signed the CLA already but the status is still pending? Let us recheck it.


Adopt for Visual Studio 2010

How hard would it be to adopt this plugin to Visual Studio 2010? Is there alternatives?

I think that it should not be difficult to support VS2010. It is probably just a matter of using the correct assembly references. However, I do not have access to VS2010, therefore I am unable to test this. If you manage to make it build, I will happily accept a pull request :)


envFilePath in ConfigModule

Thanks for sharing this structure. This is the best nestjs boilerplate that I've ever used!
I have 1 question though, is it okay to drop envFilePath in ConfigModule.forRoot({ ... }) ?
Cause I can't access to env variant without declaring envFilePath
ConfigModule.forRoot({
      isGlobal: true,
      envFilePath: process.env.NODE_ENV === 'dev' ? '.env.dev' : '.env.test',    // if not, can't access to env
      load: [configuration]
    }),

If you want to load a different .env file for each environment, it is correct to add the envFilePath option as you wrote.
https://docs.nestjs.com/techniques/configuration#custom-env-file-path

By default, the package looks for a .env file in the root directory of the application. To specify another path for the .env file, set the envFilePath property of an (optional) options object you pass to forRoot()


Reset-DbaAdmin - Cannot use ALTER LOGIN with ENABLE or DISABLE for DOMAIN\Group

Verified issue does not already exist?
Yes
What error did you receive?
writeErrorStream      : True
PSMessageDetails      :
Exception             : System.Exception: Cannot use ALTER LOGIN with the ENABLE or DISABLE argument for a
Windows group. GRANT or REVOKE the CONNECT SQL permission instead. ---> System.Data.SqlClient.SqlException:
Cannot use ALTER LOGIN with the ENABLE or DISABLE argument for a Windows group.
GRANT or REVOKE the CONNECT SQL permission instead.
     at System.Data.SqlClient.SqlConnection.OnError(
            SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
     at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(
         TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
     at System.Data.SqlClient.TdsParser.TryRun(
        RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream,
                BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
     at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(
           String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
     at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(
          TaskCompletionSource`1 completion, String methodName,
                Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
     at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
     at CallSite.Target(Closure , CallSite , Object )
                           --- End of inner exception stack trace ---
TargetObject          :
CategoryInfo          : NotSpecified: (:) [Write-Error], Exception
FullyQualifiedErrorId : dbatools_Invoke-ResetSqlCmd,Stop-Function
ErrorDetails          : Cannot use ALTER LOGIN with the ENABLE or DISABLE argument for a Windows group.
GRANT or REVOKE the CONNECT SQL permission instead.
InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : at Stop-Function,
C:\Program Files\WindowsPowerShell\Modules\dbatools\1.0.168\allcommands.ps1: line 89741
                        at Invoke-ResetSqlCmd,
C:\Program Files\WindowsPowerShell\Modules\dbatools\1.0.168\allcommands.ps1: line 64684
                        at Reset-DbaAdmin<Process>,
C:\Program Files\WindowsPowerShell\Modules\dbatools\1.0.168\allcommands.ps1: line 64956
                        at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {0, 1}

Steps to Reproduce
Reset-DbaAdmin -SqlInstance localhost -Login 'DOMAIN\Group'

Are you running the latest release?
Yes
Other details or mentions
Creating at request of @andreasjordan in this comment.
When I ran the above command locally, I couldn't get the DOMAIN\Group assignment to work either. I had to use a DOMAIN\User. Here is a screenshot of the output.

What PowerShell host was used when producing this error
Windows PowerShell (powershell.exe)
PowerShell Host Version
Name                           Value
----                           -----
PSEdition                      Desktop
SerializationVersion           <IP_ADDRESS>
CLRVersion                     4.0.30319.42000
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0ΓÇª}
PSRemotingProtocolVersion      2.3
WSManStackVersion              3.0
BuildVersion                   10.0.14393.3383
PSVersion                      5.1.14393.3383

SQL Server Edition and Build number
Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64)
Aug 22 2017 17:04:49
Copyright (C) 2017 Microsoft Corporation
Express Edition (64-bit) on Windows Server 2016 Standard 10.0  (Build 14393: ) (Hypervisor)

We can probably  just catch that and ignore since it'll be pretty hard to detect if it's a group or not.

This is the code block that is failing:
``´
if ($pscmdlet.ShouldProcess($instance, "Enabling $Login")) {
Write-ProgressHelper -StepNumber ($stepCounter++) -Message "Ensuring login is enabled"
$sql = "ALTER LOGIN [$Login] ENABLE"
if (-not (Invoke-ResetSqlCmd -instance $instance -Sql $sql)) {
Write-Message -Level Warning -Message "Couldn't enable login."
}
}

As you can see, `Invoke-ResetSqlCmd` is (better: should be) designed to not throw an exception but return $false, so that the warning is written and the user can take the necessary action.

But `Invoke-ResetSqlCmd` does only a `Stop-Function -Message "Failure" -ErrorRecord $_` the catch block and does not test for the switch `-EnableException` that `Invoke-ResetSqlCmd` has for exactly this case.

So I will just fix `Invoke-ResetSqlCmd` so that - in case of a qindows group - just a warning is written and the command continues.