Type Array or Object not working even with useDocumentTypes

Hey guys, hope you've been doing well.
First of all, thank you for this awesome SDK, is amazing to have something like this to work with Dynamo.
I'm having an issue to create my tables that I do not believe that is related with configuration, so I bring it to you guys.
When I try to create a table using type Array or Object it's keeping create the field with String and JSON.stringify on it's content.
 Let's take RetryRule as an example:
  RetryRule: {
    type: Array,
  },

If I save it like this:
RetryRule: [
        {
            retry: 1,
            time: 15
        },
        {
            retry: 2,
            time: 120
        }
    ],

This is how it got saved on Dynamo:
"RetryRule": {
  "S": "[{\"retry\":1,\"time\":15},{\"retry\":2,\"time\":120}]"
},

I believe that there is nothing wrong with my schema. But, if it is, I apologize for the inconvenience and will be glad if you guys guide me through the right way.
Regards.

Dynamoose supports this as it depends on the underlying AWS sdk, but I think it is not in the document.
As AWS sdk stores object as a map ('M') as per DocumentClient + Schema.js in Dynamoose, when saving an object, just specify the type as Map.
const dynamoose = require('dynamoose');

const Schm = dynamoose.model('Schm', {
  id: {
    type: String,
    hashKey: true
  },

  obj: {
    type: Map // instead of using Object, use Map here
  }
}, {useDocumentClient: true});

const s = new Schm({ id: String(Math.random()), obj: { foo: 'bar', bar: 'foo' } });

s.save()

Hope it helps ... I did not realise this until just now ...

It doesn't work :/
It creates with the right attribute but, when I save a new item, the column remains empty.
 But, for arrays, how can I do?
Because actually if I try to use Array as a type it stores the item as json stringified string.
Thanks in advance.
Regards.

I'm not very familiar with dynamodb but I've just been grappling with this too, I've noticed that this does the right thing:
thing: {
    text1: String,
    text2: String,
    text3: String,
},
otherthing: {
    type: String
}

However the 'saveUnknown' schema option is ignored below the first level

However the 'saveUnknown' schema option is ignored below the top level

This no longer seems to be the case.
I am basically trying to force all custom fields into a single nested object.
    CustomFields: { type: object},

This gets stored as a string regardless of useDocumentTypes value
    CustomFields: { type: 'map' },

This is stored as a map, but due to useDocumentTypes: true, which I wanted to keep the rest of the document from being polluted with unknown fields, the map always ends up empty.
I saw that saveUnknown can now take an array, but it is simply a white list of attribute names - it doesn't allow unknown child attributes for the passed in field names.
Is there any way currently to achieve what I am looking to do?

Dynamoose has gone through a lot of changes recently including the release of Dynamoose version 1.0.0. Due to that I'm closing this issue for now. Please test if this is still an issue on the latest version of Dynamoose, and you still run into problems please open a new issue and fill out all the fields in the issue template so we can properly debug, and mention this issue number in the new issue.
Thanks for using Dynamoose and we look forward to helping further if needed!

I meant to post this earlier on this issue, but must have missed it. @jderose9's comment reminded me to do so. I do think his comment is accurate. Feel free to open a new issue if there is still a problem!

This is such a common use-case. For a project of this popularity I find it hard to believe these issues stay unsolved :-(

@leanderr How is this unresolved? As I mentioned above, I think @jderose9’s comment is correct and has successfully worked for me. What is the issue?

`var testSchema = new Schema({
address1: {
type: 'map',
firstName: String,
lastName: String
}
},
{
    useDocumentTypes: true,
    saveUnknown: ['address1'],
}

);
var Mod = dynamoose.model('LeadTable03', testSchema);
var concreteLead = new Mod({
address1: {
firstName: "fn",
lastName: "b"
}
});`
->  One or more parameter values were invalid: Type mismatch for key address1 expected: S actual: M

@leanderr See https://github.com/dynamoosejs/dynamoose/issues/230#issuecomment-361412970 and the following test:
https://github.com/dynamoosejs/dynamoose/blob/e4e0eeb4e3fdee80f02d41306ed92f952510cf02/test/Schema.js#L82-L168

It's really hard to read your code due to the lack of good formatting, but from what I can gather you need to change your schema to the following:
var testSchema = new Schema({
  address1: {
    type: 'map',
    map: {
      firstName: String,
      lastName: String
    }
  }
}, {
    useDocumentTypes: true
});

I have worked with this before with no issues at all. If you are still running into problems feel free to create a PR with a failing test case to show how it's not working and we can try to find time to  investigate further.

As I mentioned in https://github.com/dynamoosejs/dynamoose/issues/445#issuecomment-445836105, I think the documentation does need to be updated. But I think that is the only problem that is going on here. If you would like to work on that, feel free to submit a PR and I would be happy to review it. Otherwise it will happen when someone gets around to it.

Thank you so much for your help.
var leadSchema = new Schema({
  address1: {
    type: 'map',
    map: {
      firstName: String,
      lastName: String
    }
  }
},
  {
    useDocumentTypes: true,
    saveUnknown: ['address1'],
  }
);

  var Lead = dynamoose.model('LeadTable03', leadSchema);

  var concreteLead = new Lead({
    address1: {
      firstName: "fn",
      lastName: "ln",
    }
  });

  await concreteLead.save()
    .then(suc => {
      console.log('Success ', suc);
    })
    .catch(err => {
      console.log('Error ', err);
    });

Fail Saving { ValidationException: One or more parameter values were invalid: Type mismatch for key address1 expected: S actual: M
at Request.extractError (/var/task/node_modules/aws-sdk/lib/protocol/json.js:51:27)
Deleting "saveUnknown...." will fail as well. Also Using Combinations of 'map', 'Map', Map, 'obj', 'Obj', Object'... Working on a PR. Willing to help with further Documentation and provide more examples...

@leanderr Oh that is for sure your problem I think. In Dynamoose you can’t combine types. Especially with the “saveUnknown” property. Just won’t work. The whole point of Dynamoose is having strict typing for Dynamoose. So yes, it will fail if you are trying to use multiple types for one property.

@leanderr You said:

Also Using Combinations of 'map', 'Map', Map, 'obj', 'Obj', Object'

I assume that means your table looks something like the following:
[
  {
    address1: {
       S: '{firstname: "Test", lastname: "User"}'
    }
  },
  {
    address1: {
      M: {
        firstname: {S: "Other"},
        lastname: {S: "User"}
      }
    }
  }
]

(hopefully I got my syntax and everything correct)

^ that is not allowed in Dynamoose. You can't have one document property be a string, and another be a map. In Dynamoose currently, a map is different than an object. That is something I find very confusing and took me a while to wrap my head around. I think we should consider changing that in the future (it would be a breaking release), but that is WAY long term I think, and not something I'm prioritizing now. The priority now is updating the documentation. If someone wants to take on a rewrite of this system, I'd be very open to that.
In the example above the first option is an object. And the second is a map.

Hopefully that makes sense.

Do you mean you cannot have an Object that has attributes of e.g. String and NUmber?

If I understand correctly, you can.

Are there any working examples with Maps or Arrays of Maps at all?

Yes. In my previous comment I linked you to a test that we are using to test this functionality.

The tested example you provided in dynamoose/test/Schema.js will save the Map as a String to the Database...
var schema = new Schema({
  id: {
    type: Number,
    //  validate: function(v) { return v > 0; },
    rangeKey: true
  },
  breed: {
    type: String,
    hashKey: true
  },
  aMap: {
    type: 'map',
    map: {
      mapId: { type: Number, required: true },
      mapName: { type: String, required: true }
    }
  },
  //  aList: {
  //    type: 'list',
  //    list: [
  //      {
  //        listMapId: {type: Number, default: 1},
  //        listMapName: {type: String, default:"SomeName"}
  //      }
  //    ]
  //  }
}, { throughput: { read: 10, write: 2 }, useDocumentTypes: false, useNativeBooleans: false });

  var concreteLead = new Schem({
    id: 1,
    breed: "str",
    aMap: {
      mapId: 2424,
      mapName: "selfihsef"
    }

  });

  await concreteLead.save()

Saves each map as Strings into the DB

@leanderr That's because you have useDocumentTypes: false. As per the doc, the default type for arrays and objects is 'S' unless useDocumentTypes: true.
https://dynamoosejs.com/api#attribute-types

In case someone is trying to use a more complex data structure and wanted to make sure is stored keeping the same types in dynamodb and where the elements of the map also be stored as dynamic objects that ( you don't know their structure), I was able to workaround this like this:
let sampleSchema = new dynamoose.Schema(
    {
        name: {
            type: String,
            required: true,
        },
        cells: {
            type: 'list',
            list: [
                {
                    name: { type: String },
                    includes: {
                        type: Object,
                    },
                    excludes: {
                        type: Object,
                    },
                },
            ],
        },
    },
    {
        useDocumentTypes: false,
    }
)


bug(CHIP): Keyboard interaction is sometimes not possible

Is this a regression?

[ ] no

The previous version in which this bug was not present was
No response
Description
Template code using ngTemplateOutlet for the content seems to break the keyboard interaction for chips. See the stackblitz:
https://stackblitz.com/edit/components-issue-83xaa2?file=src%2Fapp%2Fexample-component.html
Reproduction
Steps to reproduce:

open Showcase
keyboard interaction with the first chip listbox works
keyboard interaction with second chip listbox fails

Expected Behavior
Users can move through the chips using the arrow keys and select/deselect them with space.
Actual Behavior
No keyboard interaction in the second block.
Environment

Angular:15.0 also 15.1
CDK/Material: 15. also 15.1
Browser(s): all
Operating System (e.g. Windows, macOS, Ubuntu): Windows 11

This configuration isn't supported. We use ContentChildren to find the chips inside the chip set and ContentChildren don't work when they're placed in an ng-template outside of the list.

@ftaffelt in your case you can put your template inside mat-chip-listbox content and tabIndex will set to '0'
<mat-chip-listbox>
    <ng-container *ngTemplateOutlet="options"></ng-container>
    <ng-template #options>
        <mat-chip-option>first</mat-chip-option>
        <mat-chip-option>second</mat-chip-option>
        <mat-chip-option>third</mat-chip-option>
    </ng-template>
</mat-chip-listbox>

in your case you can put your template inside mat-chip-listbox content and tabIndex will set to '0'
thanks, this is how i rewrote my code.


Feat/remove is data equal

This PR remove the options isDataEqual from useQuery

closes https://github.com/TanStack/query/issues/4680

Codecov Report

:exclamation: No coverage uploaded for pull request base (v5@be1ec46). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@          Coverage Diff          @@
##             v5    #4720   +/-   ##
=====================================
  Coverage      ?   92.36%
=====================================
  Files         ?       89
  Lines         ?     3735
  Branches      ?      977
=====================================
  Hits          ?     3450
  Misses        ?      269
  Partials      ?       16

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.

I think we need to remove references to isDataEqual from the docs, and also add an entry to the migration guide please

done


Api reverse links

For https://app.clickup.com/t/86959dg0w , https://app.clickup.com/t/869527km2
Adding ObjectReference as it as (with the runtime validation hooks) just so we don't lose it when we squash, in case we ever have a usecase for it. Will make a PR deleting that part (so ObjectReference will just be a container for the link target) after that
Not fully tested, but tests should cover "one of each" for the major usecases (validating that a dependency object exists, and generating reverse links)

Note: Had to delete the ObjectReference type-validation-hooks because it broke schema chaining. Something to do with __get_pydantic_core_schema__, probably fixable but we were going to delete it in the next PR anyway.
Also, changes to the models tests are just to get a better exception for easier debugging (IMO - default error was just "Exception type not matching" and it took a lot of pytest flag fidgeting to get any meaningful info). Happy to undo


Remove version: SmartSoft.SmartFTP version 10.0.3159.0

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

URL: https://static.smartftp.com/static/Products/Client/10.0.3159.0/x64/SmartFTP.msi
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 911)


ETCD setup: Support private IP assignment

Feature Request
Support ability to deploy ETCD over private IP
Environment
OSX 10.11.6
What hardware/cloud provider/hypervisor is being used with Tectonic?
Vultr
Desired Feature
Enter private IP's in Tectonic during ETCD configuration.
Other Information
In the meantime how can I do this myself using Ignition? How can I leverage the metadata service
to inject private IP's in ignition config:
Currently the controller template looks like this:
systemd:
units:
- name: etcd-member.service
enable: true
dropins:
- name: 40-etcd-cluster.conf
contents: |
[Service]
Environment="ETCD_IMAGE_TAG=v3.1.2"
{{- if index . "external_etcd"}}
ExecStart=
ExecStart=/usr/lib/coreos/etcd-wrapper gateway start
--listen-addr=<IP_ADDRESS>:2379
--endpoints={{.etcd_endpoints}}
{{- else}}
Environment="ETCD_LISTEN_CLIENT_URLS=http://<IP_ADDRESS>:2379"
Environment="ETCD_INITIAL_CLUSTER={{.etcd_initial_cluster}}"
Environment="ETCD_ADVERTISE_CLIENT_URLS=http://{{.domain_name}}:2379"
Environment="ETCD_INITIAL_ADVERTISE_PEER_URLS=http://{{.domain_name}}:2380"
Environment="ETCD_LISTEN_PEER_URLS=http://<IP_ADDRESS>:2380"
Environment="ETCD_NAME={{.etcd_name}}"
Environment="ETCD_STRICT_RECONFIG_CHECK=true"
{{- end}}
- name: docker.service
enable: true
- name: locksmithd.service
dropins:
- name: 40-etcd-lock.conf
contents: |
[Service]
Environment="REBOOT_STRATEGY=etcd-lock"
- name: wait-for-dns.service
enable: true
contents: |
[Unit]
Description=Wait for DNS entries
Wants=systemd-resolved.service
Before=kubelet.service
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/sh -c 'while ! /usr/bin/grep '^[^#[:space:]]' /etc/resolv.conf > /dev/null; do sleep 1; done'
[Install]
RequiredBy=kubelet.service
- name: kubelet.service
enable: true
contents: |
[Unit]
Description=Kubelet via Hyperkube ACI
[Service]
Environment="RKT_OPTS=--uuid-file-save=/var/run/kubelet-pod.uuid
--volume=resolv,kind=host,source=/etc/resolv.conf
--mount volume=resolv,target=/etc/resolv.conf
--volume var-lib-cni,kind=host,source=/var/lib/cni
--mount volume=var-lib-cni,target=/var/lib/cni
--volume var-log,kind=host,source=/var/log
--mount volume=var-log,target=/var/log"
EnvironmentFile=/etc/kubernetes/kubelet.env
ExecStartPre=/bin/mkdir -p /etc/kubernetes/manifests
ExecStartPre=/bin/mkdir -p /srv/kubernetes/manifests
ExecStartPre=/bin/mkdir -p /etc/kubernetes/checkpoint-secrets
ExecStartPre=/bin/mkdir -p /etc/kubernetes/cni/net.d
ExecStartPre=/bin/mkdir -p /var/lib/cni
ExecStartPre=/usr/bin/bash -c "grep 'certificate-authority-data' /etc/kubernetes/kubeconfig | awk '{print $2}' | base64 -d > /etc/kubernetes/ca.crt"
ExecStartPre=-/usr/bin/rkt rm --uuid-file=/var/run/kubelet-pod.uuid
ExecStart=/usr/lib/coreos/kubelet-wrapper
--kubeconfig=/etc/kubernetes/kubeconfig
--require-kubeconfig
--client-ca-file=/etc/kubernetes/ca.crt
--anonymous-auth=false
--cni-conf-dir=/etc/kubernetes/cni/net.d
--network-plugin=cni
--lock-file=/var/run/lock/kubelet.lock
--exit-on-lock-contention
--pod-manifest-path=/etc/kubernetes/manifests
--allow-privileged
--hostname-override={{.domain_name}}
--node-labels=master=true
--minimum-container-ttl-duration=6m0s
--cluster_dns={{.k8s_dns_service_ip}}
--cluster_domain=cluster.local
ExecStop=-/usr/bin/rkt stop --uuid-file=/var/run/kubelet-pod.uuid
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
- name: bootkube.service
contents: |
[Unit]
Description=Bootstrap a Kubernetes control plane with a temp api-server
[Service]
Type=simple
WorkingDirectory=/opt/bootkube
ExecStartPre=/bin/sh -c '/usr/bin/base64 --decode /opt/bootkube/assets.b64 > /opt/bootkube/assets.zip'
ExecStartPre=/usr/bin/unzip /opt/bootkube/assets.zip -d /opt/bootkube
ExecStartPre=/bin/sh -c 'chmod +x /opt/bootkube/assets/bootkube-start'
ExecStart=/opt/bootkube/assets/bootkube-start
storage:
{{ if index . "pxe" }}
disks:
- device: /dev/sda
wipe_table: true
partitions:
- label: ROOT
filesystems:
- name: root
mount:
device: "/dev/sda1"
format: "ext4"
create:
force: true
options:
- "-LROOT"
{{end}}
files:
- path: /opt/bootkube/.empty
filesystem: root
mode: 0644
- path: /etc/kubernetes/kubelet.env
filesystem: root
mode: 0644
contents:
inline: |
KUBELET_ACI=quay.io/coreos/hyperkube
KUBELET_VERSION=v1.5.4_coreos.0
- path: /etc/kubernetes/kubeconfig
filesystem: root
mode: 0644
contents:
inline: |
apiVersion: v1
kind: Config
clusters:
- name: local
cluster:
server: {{.k8s_controller_endpoint}}
certificate-authority-data: {{.k8s_certificate_authority}}
users:
- name: kubelet
user:
client-certificate-data: {{.k8s_client_certificate}}
client-key-data: {{.k8s_client_key}}
contexts:
- context:
cluster: local
user: kubelet
- path: /etc/hostname
filesystem: root
mode: 0644
contents:
inline:
{{.domain_name}}
- path: /etc/sysctl.d/max-user-watches.conf
filesystem: root
contents:
inline: |
fs.inotify.max_user_watches=16184
- path: /opt/bootkube/assets.b64
filesystem: root
mode: 0600
contents:
inline: |
{{.zippedAssets}}
{{ if index . "ssh_authorized_keys" }}
passwd:
users:
- name: core
ssh_authorized_keys:
{{ range $element := .ssh_authorized_keys }}
- {{$element}}
{{end}}
{{end}}

Hey @vmatekole, thanks for filing this issue. I'll bring this suggestion to the team and keep you updated.

You'd write a systemd unit which fetches private IPs and other metadata from the cloud provider (in this case Vultr). Write the data to a file and use it as an EnvironmentFile in units which depend on it.
With that said, dynamically fetching IPs for starting etcd is questionable. What's your real desire? Do you expect the machine's IP to change between reboots? Do you expect to be able to auto-scale etcd nodes? etcd's concept of cluster membership will not tolerate dynamic membership.
On bare-metal, the recommendation is to assign static IPs to etcd members. Use convenience DNS names or service records resolving to those IPs. This allows you to migrate to different static IPs (say you're changing network allocations) later without changing membership or configuration, if needed.
On cloud providers (AWS), a stable DNS name is allocated for each etcd node, which is itself fungible.
You're in an interesting place using the bare-metal installer on a cloud provider, but the advise is the same - etcd node identity isn't dynamically determined between boots.

@dghubble Thanks for your response. My goal here is, one security by binding only to a private interface as opposed to all interfaces, and two having a configuration that can be easily reused by changing IP's in one place. Ideally, the installer would provide fields for this purpose. Being able to deploy a new cluster with minimal changes between the last one is beneficial and less error prone.


Tiles not loading correct

I use your directive with angularJS 1.2.
If I include it with the defaults I just get one single tile loaded...
My Controller just includes:
$scope.center = {       lat: 52,       lng: 12,       zoom: 14     };
In my view I have
<leaflet defaults="defaults" center="center" height="480px" width="640px"></leaflet>
But I only get this view:

I see that only one single tile is loaded from the web:

If I resize the window, all tiles come up and are displayed correct!
I use the following additional requirements:
'ngCookies',     'ngResource',     'ngSanitize',     'ngRoute',     'ajoslin.mobile-navigate',     'ngTouch',     'leaflet-directive'
Can anyone reproduce this issue?
Thanks!

I have the same problem. Even your example doesn't work properly, see screencast.

I upgraded one of my websites from AngularJS 1.2 to 1.3 today and found that map.invalidateSize() actually causes this behaviour in some cases, I removed it and use map.setView(); by itself now which works fine.

Same problem - I have a map in the 2nd tab with an id of "location", not the active one, that only shows one tile. I fixed it with the following:
		jQuery('.nav-tabs a, #my-links a').click(function (e) {
			e.preventDefault();
			jQuery(this).tab('show');

			// a bug in Leaflet causes map tiles to stop loading in tabs that are initially hidden
			jQuery("a[href='#location']").on("shown.bs.tab", function() {
			    L.Util.requestAnimFrame(map.invalidateSize,map,!1,map._container);
			});
		});

@tombatossals your example did not help me at all, I continue to have the same issue when showing the map after being hidden. @chromeo yours didn't help either.
what @bruha is showing in his video is exactly the issue I'm experiencing

I recently had to switch my map codebase to Google Maps, but had the same issue. I fixed it by moving the map init into a custom initialize function, then calling that function after the bootstrap tab is clicked. Replace the Google Maps init stuff with Leaflet init:
	var map;
	var building = new google.maps.LatLng(<?php echo $latlng; ?>);
	var marker = new google.maps.Marker({
	    position:building
	});
	function initialize() {

	  	var mapOptions = {
		    zoom: 14,
		    center: building
		};
		map = new google.maps.Map(document.getElementById('loc-map'), mapOptions);
		marker.setMap(map);
		google.maps.event.addListener(marker, 'click', function() {

			infowindow.setContent(contentString);
			infowindow.open(map, marker);

		});
	}

	jQuery('.nav-tabs a, #useful-links a').click(function (e) {
		e.preventDefault();
		jQuery(this).tab('show');

		jQuery("a[href='#location']").on("shown.bs.tab", function() {
        // this was the magic - initialize when the tab is clicked
		    initialize();
		});
	});

In my case the map is loading like this.I dont kow why the tiles are haphazrdly placed and why one quarter of area is left blank.

Any time this happens you need to tell the base map instance to resize. It happens with google maps easily if you use ng-show. ng-if will completley destroy and rebuild the element. However when you hide something it mucks up the map instance and it no longer knows its size. So you must tell it to resize on reshowing.

 None of the above hacks works for every case, it's a process of trial and error, which is extremely costly in time.

Well this library has possibly saved you time already. Digging down and providing people a better solution will possibly be a better long term fix. It is impossible to know every use case and issue which causes the problem. If you can't figure it out; providing a plunkr or jsfiddle is a starting point.


This example hard codes access keys into source code

The example in this page implements the worst-practice of hard coding access keys in source code.  Can this be updated to use managed identities?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: faff12d0-cc36-0867-a297-a8b59a863fdd
Version Independent ID: bbeb40cc-78e4-9c99-cdad-55f64a506c66
Content: Quickstart: Connect a Node.js MongoDB app to Azure Cosmos DB
Content Source: articles/cosmos-db/create-mongodb-nodejs.md
Service: cosmos-db
Sub-service: cosmosdb-mongo
GitHub Login: @markjbrown
Microsoft Alias: mjbrown

@jdthorpe Thanks for the feedback. We are investigating the issue and will update you shortly.

Thanks for your feedback.
This example is intended usage of Cosmos emulator with Mongo API in a MEAN app. This example is not intended to highlight best practices for identities. Additionally, as this is a local executable and not an Azure service, it makes no sense to use MSI's to access the emulator.
We do have an article that does talk about using managed identities that you can reference.
Thanks.
#please-close


[Task: DS-2807] Bundle bitstream ordering fix for hibernate

This pull request with update the bundle2bitstream columns to properly use the order that hibernate requires. Some additional testing of this pull request would be great.
For postgres testing this on a larger database to make sure that the query is optimal, for oracle testing it on an actual oracle database with more then 2 items in it (ran a local oracle DB so it should work).

Bug can be fixed, but I still need to drop the "bitstream_order_legacy" column, which is just there for legacy purposes. Once the PR has been verified I will drop the column.

+1, I've tested this, and a large site that wouldn't complete an ant update (from pre-hibernate to hibernate) even letting it run over a weekend, now completes the update in under 10 minutes.
Bitstream order appears correct.

Another situation where this PR came to help is:
ERROR: column "bitstream_order" contains null values
During an ant update on a pre-6 DB. After I cherry-picked this commit, it then ant update's successfully.

+1, this helped with https://jira.duraspace.org/browse/DS-3012


AMBARI-25379 Upgrade AMS Grafana version to 6.4.2 - Fix AMS Datasource deploy on debian/ubuntu

What changes were proposed in this pull request?
On Debian and Ubuntu platforms the Grafana dashboards are not working because the AMS Datasource cannot be found.
The root cause of the problem is that by the Grafana update the AMS Datasource deploy location moved from "/usr/lib/ambari-metrics-grafana/public/app/plugins/datasource" to "/var/lib/ambari-metrics-grafana/plugins/ambari-metrics/" and this new location and its content is not included in the ambari-metrics-assembly-*.deb package.
The fix updates the jdeb section of ambari-metrics-assembly/pom.xml  to create the required directory and add the required content.
How was this patch tested?

A build was initiated on Ubuntu16 and a cluster was deployed.
AMS service was added.
Grafana dashboards has been checked: the AMS Datasource was identified and used by Grafana.

The "/var/lib/ambari-metrics-grafana/plugins/ambari-metrics/" directory was present on the Grafana node and the AMS Datasource's code was deployed there.

@ihorlukianov, @aonishuk , could you please review this and merge if you and the CI find it appropriate ?

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5550/
Test PASSed.


Fix an error for Style/IfUnlessModifier

This PR fixes the following error for Style/IfUnlessModifier when using multiple if modifier in the long one line:
return value if items.filter_map { |item| item.loooooooooooooooooooooooooooooooooooooooooooooooooooog if item.something? }

$ bundle exec rubocop --only Style/IfUnlessModifier -a -d
(snip)

Scanning /Users/koic/src/github.com/koic/rubocop-issues/if_unless_modifier/example.rb
An error occurred while Style/IfUnlessModifier cop was inspecting /Users/koic/src/github.com/koic/rubocop-issues/if_unless_modifier/example.rb:1:42.
Parser::Source::TreeRewriter detected clobbering

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Looks good!


adding Brian Loveless to contributors markdown file

I would love to join and help.

Welcome, Brian!

Hi Brian, we are super happy to have you!


Open online edu

Puling a new branch

What is this? At the very least it needs to be rebased, fix the conflicts, and associate with a JIRA ticket.

I second Brian's comment. What's this about?


I am trying to merge Charlie's repo back to my fork

I am trying to merge Charlie's repo back to my fork

I merged it . it worked well.


wip: another attempt to add types to exceptions

Motivation

Test plan

See included automated tests.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_OYp9rJpyfT7Xpo
→ https://go/builds/bui_OYp9iM7vMAZpze
→ https://go/builds/bui_OYp9BfqUbaeU3P


Pressing "Tab" key while the result list of AddressSearch is open leaves it open even after clicking outside

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Type an address that yield results
Press "Tab" key
Click somewhere else in the form

Expected Result:
The list of results should close after clicking outside
Focused element of the list after pressing tab should be highlighted
Actual Result:
The list remains open event after focusing other inputs
No element of the list gets highlighted even if the focus changed to one of them after pressing tab
https://user-images.githubusercontent.com/87341702/140454912-b4a5d533-105c-48ff-9dcf-68e491dc7058.mov
Workaround:
The user can still close the list by focusing again on the AddressSearch input and clicking outside. Or the user can just ignore the opened list.
Platform:

Where is this issue occurring?

Web
Desktop App

Version Number:
Reproducible in staging?:
Reproducible in production?:
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation:
View all open jobs on GitHub

Triggered auto assignment to @flaviadefaria (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

Triggered auto assignment to @Dal-Papa (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Triggered auto assignment to @kevinksullivan (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

Chill @MelvinBot, it was the weekend and we just started a company offsite.

In AddressSearch.js file we have to:

Add here onKeyPress prop
https://github.com/Expensify/App/blob/d217777b51a48f35e029dae7e2395af76adce7cb/src/components/AddressSearch.js#L107

onKeyPress: (event) => {
                    if(event.code == 'Tab' && !isSelected){
                        googlePlacesRef.current.setAddressText("")
                    }
                },

to handle press "tab" button in input

Add to AddressSearch component isSelected state variable with useState hook to check if user selected final address we will not clear input field but only will move to next input field.
https://github.com/Expensify/App/blob/d217777b51a48f35e029dae7e2395af76adce7cb/src/components/AddressSearch.js#L41
const [isSelected, setIsSelected] = useState(true);

Change this variable when user selects something from dropdown in onPress method of GooglePlacesAutocomplete Component: https://github.com/Expensify/App/blob/d217777b51a48f35e029dae7e2395af76adce7cb/src/components/AddressSearch.js#L91-L93

onPress={(data, details) => {
saveLocationDetails(details);
                setIsSelected(true)
            }}

Add onBlur method of GooglePlacesAutocomplete Component to make list of results close after clicking outside:
https://github.com/Expensify/App/blob/d217777b51a48f35e029dae7e2395af76adce7cb/src/components/AddressSearch.js#L86

onBlur={() => {
                    if(!isSelected){
                        googlePlacesRef.current.setAddressText("")
                    }}}

https://user-images.githubusercontent.com/71173662/141126429-741210e1-947d-41af-98b1-b79b47bf3f0d.mov

@Dal-Papa, @kevinksullivan Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

https://www.upwork.com/jobs/~01324fec6df4ab30d9

Triggered auto assignment to @NikkiWines (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

I think @developvsn's proposal looks good, though I think it'd be event.key if we're matching to Tab and not the keyCode 9.
@kevinksullivan can you hire @developvsn for this job? Thanks!

All set!

@NikkiWines @kevinksullivan Hey ! I run into issue "doesn't have permission to make PR"
Who i can reach for some help?

@NikkiWines @kevinksullivan Hey ! I run into issue "doesn't have permission to make PR" Who i can reach out for some help?

Did you fork the repo?

Sorry I didn't look at this better before, but the implemented behaviour is not consistent with blur by clicking outside, and I think it is also not what is expected.
If you click outside, the autocomplete results disappear but the typed text remains there. On the other hand, if you press tab, it makes the autocomplete disappear and clears the typed text. This remains impossible to use using just the keyboard, you cannot select a result and selecting a result is mandatory.
https://user-images.githubusercontent.com/87341702/142887668-f3186a61-4383-4ab5-97d8-533997333173.mov
In my opinion, the expected behaviour should be to keep the list open and move the focus to the first result, and then the next result, etc, until you are out of the list. Related comment: https://github.com/Expensify/App/pull/6115#issuecomment-974913981

@aldo-expensify the address field uses react-native google places autocomplete library and to remove focus from the list it requires to clear the entered text if we are using Tab because blur() and focus() ref methods don't work in this library, also we cannot use Tab to select any of addresses from the list dropdown because this library doesn't support this: we can't make onFocus blue border of any element from the list and if the user will press Enter it will trigger form submit.
User still can enter the address manually if clicks or selects with Tab the "Can't find your address? Enter it manually"
https://user-images.githubusercontent.com/71173662/143053991-d09262e0-3526-4402-b14f-e71b906377b8.mp4

@aldo-expensify brings up a good point, especially in reference to accessibility. You would expect the tab to go to the next element in the list, not to skip to the next field.
Additionally, I agree that the behavior around clearing the address field should be consistent regardless of how the user removes focus from the field.
Since this change needs to be reverted anyway (the commits were unsigned) let's take this opportunity to get more consistent with our implementation, namely:

Clicking away from the field should remove focus and close the search list, and maintain the contents of the input field
Pressing tab should move the focus onto the next element in the search list, and maintain the contents of the input field.

Does that sound right, @aldo-expensify?

Clicking away from the field should remove focus and close the search list, and maintain the contents of the input field
Pressing tab should move the focus onto the next element in the search list, and maintain the contents of the input field.

I would like to point out that the lib currently does based on the code it has. I have gone through it. So there is some issue due to which the dropdown is not getting closed when the focus is moved out of the dropdown.
@NikkiWines

One other note that at the moment the accessibility comments are not considered actionable (for now), we're just testing the new process at this time - link

In reality, the selected item is not highlighted when focused via Tab. The border should get blue as well as this issue should be fixed.

@aldo-expensify brings up a good point, especially in reference to accessibility. You would expect the tab to go to the next element in the list, not to skip to the next field.
Additionally, I agree that the behavior around clearing the address field should be consistent regardless of how the user removes focus from the field.
Since this change needs to be reverted anyway (the commits were unsigned - revert PR here) let's take this opportunity to get more consistent with our implementation, namely:

Clicking away from the field should remove focus and close the search list, and maintain the contents of the input field
Pressing tab should move the focus onto the next element in the search list, and maintain the contents of the input field.

Does that sound right, @aldo-expensify?

Yep, agree with all that.

I would like to point out that the lib currently does based on the code it has. I have gone through it. So there is some issue due to which the dropdown is not getting closed when the focus is moved out of the dropdown.

I looked into this when I first created the issue, but I don't remember 100%. I know that the library has some mechanism to detect that the focus changed from the text input to an element of the list to avoid closing it. The library closes the result list when the text input looses focus, but it shouldn't close when the text input goes out of focus when the focus changes to a result.
I don't remember exactly now why, but I have a vague memory of debugging and seeing that the library doesn't handle properly the change of focus with tab. At the time I thought that this would be hard to solve without changing the library. I don't think I'll have time today to look at it in detail, but I could do it tomorrow or the day after tomorrow :P

Should we make another issue for The border should get blue for results when they are tab focused?

Should we make another issue for The border should get blue for results when they are tab focused?

hmm, maybe I'm miss-understanding something, but if you think the tab is working fine and adding the styles to make the blue border appear is the only thing missing, I would think that this issue is fine, and what your are saying sounds like a solution to it. Why do you think we should make a different issue?

I don't remember exactly now why, but I have a vague memory of debugging and seeing that the library doesn't handle properly the change of focus with tab. At the time I thought that this would be hard to solve without changing the library. I don't think I'll have time today to look at it in detail, but I could do it tomorrow or the day after tomorrow :P

This is what we tried to say. It seems like there's no fix without changing inside the library.

In reality, the selected item is not highlighted when focused via Tab. The border should get blue as well as this issue should be fixed.

@parasharrajat did you try to press enter when you think you select the address line from dropdown list? Because when you press enter it submits the form instead of entering address in the field

I don't want to spend time debugging this as you are already assigned but I will take a look in my free time.

hmm, maybe I'm miss-understanding something, but if you think the tab is working fine and adding the styles to make the blue border appear is the only thing missing, I would think that this issue is fine, and what your are saying sounds like a solution to it. Why do you think we should make a different issue?

I was in the impression that currently the list items are getting focused but look like they are not.

@parasharrajat did you try to press enter when you think you select the address line from dropdown list? Because when you press enter it submits the form instead of entering address in the field

Yeah, sounds like it could happen and if that is the case, we would have to make sure we prevent that event from bubbling up and submitting the form.

I was in the impression that currently the list items are getting focused but look like they are not.

Oh @parasharrajat , sorry, I think you are right... One thing is highlighting the focused elements and the other thing is that the list remains open, I think I mainly debugged and payed attention to the list staying open problem, not the highlighting. Your hint about splitting this into two issues makes some sense to me.
My concern about splitting: if one of these parts gets solved alone, it may be lost work if we realice that we will have to change the library to get the other done, and I still feel like it would require a bunch of ugly changes to make the highlighting work.

Yeah, I don't think we need to swap the lib. We can just identify the real bug with lib and submit a PR to their repo. It looks pretty active.
let me just debug this before making the lib culprit.

I am getting CORS error on dev.
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://www.expensify.com/api?command=Proxy_GooglePlaces&proxyUrl=/place/autocomplete/json?input=asds&key=AIzaSyC4axhhXtpiS-WozJEsmlL3Kg3kXucbZus&language=en&types=address&components=country%3Aus. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

Ok, so I found this after debugging.

https://github.com/FaridSafi/react-native-google-places-autocomplete/blob/47d7223dd48f85da97e80a0729a985bbbcee353f/GooglePlacesAutocomplete.js#L681
Only runs once when the user blurs the input. Its duty is to preserve the list if the focus is moved to any item on the list.
On the other hand, you click directly outside dropdown or text input then the same method closes the dropdown list, due to blur being fired on input.
Lib only closes the list in the Blur method.
Lib does not have a way to detect multiple Tab focus events and close the list when the focus is moved out of the list.
If you click outside after using Tab focus on the Address input, List will not be closed based on 3, and blur is already fired.

TODO Checklist

[ ] We need to register an outside click listener to close the list on an outside click for the web. (This can be patched to the lib).
[ ] (Optional) We need to register a Tab key listener to detect if the focus is outside the list to close the list. I am not sure if we should do that. Focusing away does not necessarily mean that the user wants to close the list.
[ ] Highlight the row on focus. (this one can be held as I think it will be resolved by https://github.com/Expensify/App/pull/5805

Great investigation @parasharrajat.

Focusing away does not necessarily mean that the user wants to close the list.

I'm curious in what scenario we'd want to keep the list open if the focus is moved away from the list

Now, this becomes another Problem to discuss for A11y. basically, tab focusing on a link in the form and pressing enter will not take you that link.(new Issue should be handled). You can test it directly on the same page via tab focusing the link list of restricted businesses and press Enter.

Because we're still in the middle of our accessibility testing, and don't yet have consensus on how to handle issues around accessibility, I think this is fine as it is for now.

I'm curious in what scenario we'd want to keep the list open if the focus is moved away from the list

For e.g. I typed some text to get hints and then tab to the list. It is possible that the user needs to check something about that address before he makes a decision from the list and thus he goes out to google in a different tab. I think moving the another Tab or window will the take the focus away.

Because we're still in the middle of our accessibility testing, and don't yet have consensus on how to handle issues around accessibility, I think this is fine as it is for now.

This was the second reason. The first reason was that we want to allow the user to select items from the list by pressing Enter on the keyboard. The attached onPress will fire with the press of Enter but the Enter event is first intercepted by the Main Form button and thus never reach the onPress listener on the list Item.

Because we're still in the middle of our accessibility testing, and don't yet have consensus on how to handle issues around accessibility, I think this is fine as it is for now.

Does it mean we go back to PR and sign or ?

Sorry, just to clarify things, here are the issues and proposed next-steps discussed in this issue.
(This is also largely a restatement of what @parasharrajat wrote above here)

When focused on the text box, pressing tab correctly re-focuses the input on the elements in the address list, but does not highlight them.

Fix: elements in the address list should be highlighted when focused, and should fixed in this PR: https://github.com/Expensify/App/pull/5805

When focused on a list element, pressing enter incorrectly submits the form instead of entering the address in the text field.

Fix: Unclear, this is a question of accessibility, and as @parasharrajat mentioned there are other cases where it's unclear what pressing enter should do (e.g. when focused on a link). For now, let's not tackle this problem in this issue and wait for our accessibility testing to conclude.

When focused on a list element, moving focus away from the list (either via clicking or via tab) does not close the address list.
a. Clicking away from the list: Submit a fix to the lib
b. Tabbing away from the list: Unclear if we'd want to implement this, the whole form adjusts to fit the expanded address list, so it's not a matter of usability. I'd argue that tabbing away from the list should render it inactive and close it, but I don't feel super strongly about it.

If we agree on the above, it seems like the only actionable next step for this issue is to resolve 3a. clicking away from the list, and we should submit a fix to https://github.com/FaridSafi/react-native-google-places-autocomplete/ instead of handling it on our end.

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.1.16-10 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/6345
https://github.com/Expensify/App/pull/6345

If no regressions arise, payment will be issued on 2021-12-06. :confetti_ball:

When focused on the text box, pressing tab correctly re-focuses the input on the elements in the address list, but does not highlight them.

Fix: elements in the address list should be highlighted when focused, and should fixed in this PR: https://github.com/Expensify/App/pull/5805

I just gave it a try, and I think this PR is not solving the missing highlight for the results. I think it refactors how it works for our inputs and fixed a missing error outline for ExpensiPicker.

If we agree on the above, it seems like the only actionable next step for this issue is to resolve 3a. clicking away from the list, and we should submit a fix to https://github.com/FaridSafi/react-native-google-places-autocomplete/.

Sounds good to me

Sounds good to me. I don't know how solvable the highlighting problem in the results is without touching the library (I think @parasharrajat had a good idea about this).

Yes we are on the same thoughts. Here we tried to explain the issue with lib
So what do we do next? Or still discussions?

Sorry for the delay @developvsn - it seems like the next step would be for someone to reach out to https://github.com/FaridSafi/react-native-google-places-autocomplete/ and submit an issue there.
Going to reach out to the team to see how we want to handle that!

Cool, so from talking to the team it sounds like we'd want to go forward with you submitting a PR to https://github.com/FaridSafi/react-native-google-places-autocomplete/ and see if they'll accept the changes. If there's no response or they're just generally inactive with reviewing it in 2 weeks, we'd proceed by having you fork the repo and implementing the changes there.

Cool, so from talking to the team it sounds like we'd want to go forward with you submitting a PR to https://github.com/FaridSafi/react-native-google-places-autocomplete/ and see if they'll accept the changes. If there's no response or they're just generally inactive with reviewing it in 2 weeks, we'd proceed by having you fork the repo and implementing the changes there.

Good! Then we will proceed with that on Monday and come back with a mention here that we submitted PR, so we can start the 2-weeks timer

@developvsn, sorry - are you saying you reached out in https://github.com/FaridSafi/react-native-google-places-autocomplete/ and they said it wasn't possible to fix? If so, do you have a link to an issue/PR? Or is this just something you discovered while trying to implement a fix?
Additionally, I think the main issue we're trying to fix through the lib doesn't involve tabbing away, only clicking. Specifically, the issue is: when focused on a list element, moving focus away from the list via a click does not close the address list.

@developvsn, sorry - are you saying you reached out in https://github.com/FaridSafi/react-native-google-places-autocomplete/ and they said it wasn't possible to fix? If so, do you have a link to an issue/PR? Or is this just something you discovered while trying to implement a fix?
Additionally, I think the main issue we're trying to fix through the lib doesn't involve tabbing away, only clicking. Specifically, the issue is: when focused on a list element, moving focus away from the list via a click does not close the address list.

Is just something we dicovered while trying to implement fix

Ah ok, makes sense!

Should we just place the lib issue as a bug report then?

Yes, That sounds good!

unable to fix the highlight of the list through the tab, as it was designed for mobile.

This would be a generalized issue and I will report it slack later as I pointed it in the comments above.
As NikkiWines said, you should be fixing .

Additionally, I think the main issue we're trying to fix through the lib doesn't involve tabbing away, only clicking. Specifically, the issue is: when focused on a list element, moving the focus away from the list via a click does not close the address list

As NikkiWines said, you should be fixing .

We have two flows which includes clicking away after the list appeared.

Enter address — click away => the list disappears
Enter address — press tab — click away => list cannot disappear.

Which one of this is the issue we need to fix, as we said the second flow cannot be fixed due to it was design for mobile.
https://user-images.githubusercontent.com/71173662/146205808-5e9ab830-1246-433a-9a8e-784def2f732f.mov
https://user-images.githubusercontent.com/71173662/146206046-0b98fff7-6a0f-430f-b93e-1039d4bcacd5.mov

Oh. Sorry, I get it now.

Enter address — click away => the list disappears
Enter address — press tab — click away => list cannot disappear.

The first is working. I will analyze this more to see if we can fix the second.

https://github.com/FaridSafi/react-native-google-places-autocomplete/issues/790 @NikkiWines @parasharrajat Here's the twelve-day already in the no-review from publisher.  Any ideas what to do next?

I think it's fine. I will spare some time this week to find a solution to the issue. Just back from vacation.

Enter address — click away => the list disappears

Just a note that the list does not disappear if you a list item (in the video I press tab 2x, so I should be focused on the second address)
https://user-images.githubusercontent.com/16747822/148078846-9a7d6ac2-abbe-492c-94fa-1f9cfdaba06d.mov

Here's the twelve-day already in the no-review from publisher. Any ideas what to do next?

Looks like it's been 18 days nowm with no response. I think we should proceed with the route described here to fork the repo and implement a fix there.

@developvsn any update here?
@NikkiWines Unable to fix the issue because there are a lot of internal library bugs, like functions blur() and focus() that don’t work at all.

@parasharrajat had plans to find a solution, any thoughts?

I will look into it today.

I am pretty sure we won't be able to contribute back to the main lib

Finally got time to work on this and I have a solution ready, video :arrow_down: . Let me know what is next step? @NikkiWines
I am focusing on these issues for now

Close the list when we click away (outside the address input and its list)
Close the list as soon as you focus away from the last item on the list.
Row is selected twice when using Tab navigation.

https://user-images.githubusercontent.com/24370807/149243519-f378dc60-87f8-42e4-8083-37d35bfeeb1a.mp4

Finally got time to work on this and I have a solution ready, video ⬇ .

Nice! 🎉

Let me know what is next step? @NikkiWines. Changes would be done to GooglePlacesAutocomplete lib.

I think the next step would be to fork the lib and spin up a PR with your changes @parasharrajat

📣 @parasharrajat You have been assigned to this job by @NikkiWines!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

Oh yep, sorry - I forgot we have to handle that internally. @parasharrajat, just to be clear, you mentioned theGooglePlacesAutocomplete lib, but the lib we're currently using is react-native-google-places-autocomplete. The repo we'd be forking is https://github.com/FaridSafi/react-native-google-places-autocomplete

Sorry for the confusion, I mean the same repo react-native-google-places-autocomplete. It has only one component GooglePlacesAutocomplete and I mentioned its name.

Should be all good now @parasharrajat - https://github.com/Expensify/react-native-google-places-autocomplete

Spinning up the PR. Thanks.

PR is up https://github.com/Expensify/react-native-google-places-autocomplete/pull/1.

Leaving a note.
@kevinksullivan Based on this https://github.com/Expensify/App/pull/7330#issuecomment-1017931459, please hire me whenever ready.

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.1.32-0 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/7330

If no regressions arise, payment will be issued on 2022-02-01. :confetti_ball:

Thanks @parasharrajat . Sent you an invite to the reposted job.

Ping for

@kevinksullivan


LinalgRefactor - minor fix on linalg::max unittest

The old Viennacl SGMatrix max test may cause segmentation fault

Thanks!
And never use constants in loop counters ;)


Derank string suggestions in ternary everywhere

For now only in indexed signature, using for a while and its OP!

Will be enabled by default.

add a setting to remove them instead


Address google_news deprecation warning

From #991, Hugo now gives a deprecation warning:

WARN 2021/12/17 10:14:32 The google_news internal template will be removed in a future release. Please remove calls to this template. See https://github.com/gohugoio/hugo/issues/9172 for additional information.

The template is used by Docsy in layouts/partials/head.html. A fix landed recently (https://github.com/google/docsy/pull/769) so all we need to do us upgrade Docsy.


fix decision forest incorrect number of features in prediction data 2…

add correct number of features in input data for prediction check

add setNFeatures to df constructor

add setNFeatures to java df model builder

add eof to build_model.cpp

add empty model check

fix code issues according to code review

Job detail: https://ecmd.inn.intel.com/commander/link/jobDetails/jobs/ea473672-c54b-f1c5-a35a-8cdcd4b723a1


[Issue 10046] Update chuckedMessageRate to chunkedMessageRate without breaking public api

Fixes #10046
Motivation
As described in #10046, there is a typo where chuck is used instead of chunk in several locations, including in the public API. This PR fixes that typo without introducing any breaking changes. Instead, it adds some new methods while deprecating ones that contain typos.
Modifications

Update several internal pulsar references. Given that these are private, there is no need to worry about breaking changes.
Update ConsumerBuilder interface by first deprecating the maxPendingChuckedMessage method and adding the maxPendingChunkedMessage method. We'll need to choose when to actually remove the deprecated method.
Update SubscriptionStats to return both chuckedMessageRate and chunkedMessageRate. Given that this POJO is sent as JSON, the only way to give users the chance to transition is to deliver both fields.
Update ConsumerStats to return both chuckedMessageRate and chunkedMessageRate. Given that this POJO is sent as JSON, the only way to give users the chance to transition is to deliver both fields.
Update ConsumerConfigurationData by changing the private variable from maxPendingChuckedMessage to maxPendingChunkedMessage. Then, add the previously generated getter and setter for maxPendingChuckedMessage that actually update maxPendingChunkedMessage.

Verifying this change
I updated several tests but didn't add any. I'm not sure what the protocol is for these types of changes. The public API is not changing, and in the case of deprecated methods, any affected tests are updated to use the new methods.
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): no
The public API: yes
The schema: no
The default values of configurations: no
The wire protocol: no
The rest endpoints: no
The admin cli options: no
Anything that affects deployment: no

The changes to the public API are only additive.
Documentation
There is updated documentation associated with this change. If we want to merge this change to the 2.7 branch, we'll want to update that documentation as well.

Needed to rebase to resolve conflicts. Only updated the pulsar-broker/src/test/java/org/apache/pulsar/client/impl/MessageChunkingTest.java file.


Feature: Support data-language for specifying parse language for block

Related: #1708
I'd like to see this go into 9.17... this is much nicer way to specify the language.  We'll continue to support the old way (for legacy) but this will also include updating all the docs to show using a data-attribute to get this done rather than class.

Having second thoughts about this after closing the related issue and suggesting a plug-in instead.


Replace stage1 arguments with pod annotations

Now that app sandbox and app add are different commands and entrypoints, we need to be able to access these stage1 CLI parameters in different processes.
So, we need to move at least some of the cli params to annotations. So, let's just move them all.
Proposed API
Any argument in the form of --name=value will be replaced with the annotation coreos.com/rkt/stage1/$NAME.
All arguments will be exposed via the stage1.common.types.Pod struct.
Removed arguments

--interactive
--private-users
--mds-token
--hostname
--disable-capabilities-restriction
--disable-paths
--disable-seccomp
--dns-conf-mode
--mutable

Retained arguments

--debug
--net (this is persisted in netinfo.json)

Upon further discussion, I'm closing this. I'm going to leave the API as-is.


upstream-community-operators [N] poison-pill-operator (0.0.1)

Signed-off-by: Roy Golan<EMAIL_ADDRESS>

/merge possible

/merge possible


Video stories

Hello. Video stories not work in your app. I can see only static images.

Hi, check new release please.


Illuminate\Database\Eloquent\Relations\Pivot::updateOrCreate broken

Laravel Version: 9.39.0
PHP Version: 8.1.12
Database Driver & Version: MySQL, 8.0.31

Description:
It appears that Pivot::updateOrCreate breaks whenever an actual update is necessary.
Steps To Reproduce:

I've created an example Laravel app illustrating the issue. Please clone the repo and follow the instructions in the README:
https://github.com/Anticom/LaravelPivotUpdateOrCreate

Hey there,
Can you first please try one of the support channels below? If you can actually identify this as a bug, feel free to open up a new issue with a link to the original one and we'll gladly help you out.

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

Thanks!

@driesvints  What do you mean by actually identifying it as a bug? I've went through the trouble of providing a concise and minimal example that clearly illustrates the bug (unless I'm using the framework incorrectly that is).
Running the commands stated in the README of my example yields
   DEPRECATED  str_contains(): Passing null to parameter #1 ($haystack) of type string is deprecated in vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php on line 762.

   DEPRECATED  str_contains(): Passing null to parameter #1 ($haystack) of type string is deprecated in vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php on line 762.

   DEPRECATED  stripos(): Passing null to parameter #1 ($haystack) of type string is deprecated in vendor/laravel/framework/src/Illuminate/Database/Grammar.php on line 62.

   DEPRECATED  str_contains(): Passing null to parameter #1 ($haystack) of type string is deprecated in vendor/laravel/framework/src/Illuminate/Database/Grammar.php on line 148.

   DEPRECATED  explode(): Passing null to parameter #2 ($string) of type string is deprecated in vendor/laravel/framework/src/Illuminate/Database/Grammar.php on line 73.

   DEPRECATED  stripos(): Passing null to parameter #1 ($haystack) of type string is deprecated in vendor/laravel/framework/src/Illuminate/Database/Grammar.php on line 62.

   DEPRECATED  str_contains(): Passing null to parameter #1 ($haystack) of type string is deprecated in vendor/laravel/framework/src/Illuminate/Database/Grammar.php on line 148.

   DEPRECATED  explode(): Passing null to parameter #2 ($string) of type string is deprecated in vendor/laravel/framework/src/Illuminate/Database/Grammar.php on line 73.

   Illuminate\Database\QueryException  SQLSTATE[42S22]: Column not found: 1054 Unknown column '' in 'where clause' (SQL: update `role_user` set `comment` = Something else, `role_user`.`updated_at` = 2022-11-09 07:51:36 where `` = 1 and `` = 1).

Taking the deprecation notices aside as you can see that the code clearly doesn't work as intended and due to the simple nature of my example I don't see where I could have messed up.

Adding a superficial id column to the pivot table resolves the issue.
This sort of makes sense, however it doesn't align with with the documentation.

Heya yeah, I'd just create an actual model here.


ios: split out objc sources with single bridging header

Signed-off-by: Mike Schore<EMAIL_ADDRESS>Description: Separates Objective-C sources into separate files, separating logic a little bit better. A single bridging header is still required (for now).

While we still can't compose the header via imports (and thus still need a single header), this at least improves the Objective-C landscape a bit by breaking out the monolithic sources.


[Tracker]: Model Serving Quality Metrics

Description
TBD
Target Branch
TBD
Requirements
Requirements doc (will be converted to text later)  - Model serving phase 2 requirements
Itemized UX Issues
TBD
Itemized Dev Issues
TBD
Related artifacts
No response

Migrated to:  https://issues.redhat.com/browse/RHOAIENG-570


DirectoryNotFoundException:Could not find a part of path '..\StreamingAssets\aa' In Unity2021

Using BuildPlayerContext.AddAdditionalPathToStreamingAssets in Unity2021. It will not copy aa From Library to StreamingAssets. So it raise a bug :DirectoryNotFoundException:Could not find a part of path '..\StreamingAssets\aa'

looking at the addressables changelog this is likely due to:
Optimised StreamingAssets usage to no longer need to be copied into the project (2021.2+).

I'll have a look when I get some time.

Forget it.Thank you very much.
I have a backup solution(https://github.com/Unity-Technologies/Addressables-Sample#advancedplay-asset-delivery) to build aab

This should be resolved in 1.0.1


Bug in distance calculation from flattened matrix

Just found a bug in the distance calculation from flattened distance matrices.
The function 'from_flattened' (line 141 in cvrp.py) assumes that
" The numbers in a flattened list correspond the matrix element indices
(1, 0), (2, 0), (2, 1), (3, 0), (3, 1), (3, 2), (4, 0), ..."
However, for the instance E-n13-k4 the flattened list correponds to indices
(0, 1), (0, 2), (0, 3), (0, 4), ... (11,12).
Changing line 150
indices = sorted([(i, j) for (j, i) in combinations(range(n), r=2)])
to
indices = sorted([(i, j) for (i, j) in combinations(range(n), r=2)])
resolves this issue.
However, I do not know whether the original sorting might be correct for some other instances.

Hi @wgfiis, thanks for reporting the bug! I'm going to investigate it further in the new year and make sure it's fixed in V1 #18.

Hi @leonlan,
Just for reference: The original distance matrix for E-n13-k4 can be found in the paper of Dantzig and Ramser, Table 1 page 82. (https://andresjaquep.files.wordpress.com/2008/10/2627477-clasico-dantzig.pdf)
You can check the mentioned discrepancy between cvrplib distance matrix and original distance matrix.

The problem here is mainly with the way that the matrix in E-n13-k4 is given.
NAME : E-n13-k4
EDGE_WEIGHT_TYPE : EXPLICIT
EDGE_WEIGHT_FORMAT: LOWER_ROW
(...)
EDGE_WEIGHT_SECTION
     9    14    21    23    22    25    32    36    38    42
    50    52     5    12    22    21    24    31    35    37
    41    49    51     7    17    16    23    26    30    36
    36    44    46    10    21    30    27    37    43    31
    37    39    19    28    25    35    41    29    31    29
     9    10    16    22    20    28    30     7    11    13
    17    25    27    10    16    10    18    20     6     6
    14    16    12    12    20     8    10    10
(...)
EOF

This array of numbers correspond to the lower triangle of the distances matrix. Since it's not formatted like that, I assumed that this should be first put in an 1-D array, and then each element of the array corresponds to some index of the lower triangle matrix.
The TSPLIB specification describes the EXPLICIT_MATRIX edge weight type with LOWER_ROW edge weight format as:

Lower triangular matrix (row-wise including diagonal entries)

This reads as if the matrix should be parsed per row, so the entries are supposed to be parsed in order (1, 0), (2, 0), (2, 1), (3, 0), etc. But, as shown in the paper, the E-n13-k4 instance is parsed in order of columns instead.
Fortunately, this is the only edge case that needs to be parsed like this.

Alright, thank you. The E-n13-k4 was indeed the only instance I encountered this bug.

@wgfiis Thanks for reporting this. I'll close this issue because it's a problem with the CVRPLIB and the instance they have provided. But I'll send them a message about it and ask if they can change it.


Message spam and crash on world enter

Minecraft Version: 1.12
Advanced Rocketry Version: 1.2.6-52
LibVulpes Version: 0.2.7-24
Game output: https://pastebin.com/0RnAZt8U
Explain issue in detail:
I used a custom planetDef file, this here; https://pastebin.com/dewntJk0
When I try to enter the world, it freezes. Something like this also happens when you have an xml with wrong syntax. But this one (with correct syntax) spams a massage in the game output.
I changed the planetDef.xml a few times, maybe this is the problem?

Without the rest of the message, the game output unfortunatly isn't all the helpful.  The type of error is not included, nor is most of the stack trace.  Would it be possible to send a copy of the report with a few lines above and at least 50 lines below the first line in the file you've send?

Is this still a issue? Please comment if it is and i will reopen if if you are unable? We are closing old issues to see what is still relevant and needs to be fixed.


[BUG] Downstream RKE2 Vsphere Cloud Provider clusters pull incorrect versioning for CSI pod images, which result in imagepullbackoff error

Rancher Server Setup

Rancher version: v2.9-3c4ccdc5bc9fde3510089153b5ad58fdbe604880-head
Installation option (Docker install/Helm Chart):
Helm HA

Information about the Cluster

Kubernetes version: v1.30.2+rke2r1
Cluster Type (Local/Downstream):
Downstream Vsphere Cloud Provider cluster

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom)
admin

Describe the bug
When spinning up a Vsphere Cloud Provider enabled cluster, the CSI pod images are incorrectly pulled, tagged :latest, which results in an imagepullbackoff error.  When editing the pod images, and pointing to the specific expected version :vX.X.X, the pods come up active and stabilize.
To Reproduce
For RKE2:

create a Vsphere Cloud Provider enabled cluster using k8s v1.30.2+rke2r1 and the latest available CSI chart.
Reproduced

Result
CSI pod images are tagged as latest which results in imagepullbackoff error
Expected Result
CSI pod images are tagged with specific versions and come up active
Screenshot:

Additional Context:
This doesn't seem to affect RKE1.  Even the use case of installing k8s 1.28, and n-1 CPI/CSI charts, then upgrading to 1.29, and then to 1.30 was successful for RKE1.  Issue exclusive to RKE2

To be addressed on RKE2 side, targeting July patches.

Closing this issue out, as the root cause will require a fix on RKE2 side.
Issue to be further tracked here:
https://github.com/rancher/rke2/issues/6334

Reopening for validating on Rancher side, currently blocked by RKE2 releases

Should be ready to test once https://github.com/rancher/kontainer-driver-metadata/pull/1450 is merged

Ticket #46132 - Test Results - ✅
Verified on Rancher v2.9-419f7169084aaf1cceaeae2d6df5d4c227bd8a77-head:

Scenario
Test Case
Result

1.
Provision a Vsphere Cloud Provider enabled cluster using k8s v1.30.3+rke2r1 and the latest available CSI chart
✅

Scenario 1 - ✅

Fresh install of Rancher v2.9-head
Provision a downstream Vsphere Cloud Provider enabled cluster w/ k8s v1.30.3+rke2r1
Verified - cluster comes up active, all pods active and ready
Verified - all CSI pods are properly tagged and active; as expected

using rancher 2.9.3 and updated a from RKE2 1.29 to 1.30.5 - the issues still exists. tries to use the latest tag for all CSI driver components.

Provisioned v1.30.5+rke2r1 via Rancher 2.9 and everything looks fine:
root@systemd-node-1:/# kubectl get node -o wide
NAME             STATUS   ROLES                       AGE     VERSION          INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION   CONTAINER-RUNTIME
systemd-node-1   Ready    control-plane,etcd,master   2m29s   v1.30.5+rke2r1            openSUSE Leap 15.4   6.8.0-1016-aws   containerd://1.7.21-k3s2
root@systemd-node-1:/# kubectl get pod -n kube-system -l app=vsphere-csi-controller -o yaml | grep image:
image: rancher/mirrored-sig-storage-csi-attacher:v4.5.1
image: rancher/mirrored-cloud-provider-vsphere-csi-release-driver:v3.3.0
image: rancher/mirrored-sig-storage-livenessprobe:v2.12.0
image: rancher/mirrored-cloud-provider-vsphere-csi-release-syncer:v3.3.0
image: rancher/mirrored-sig-storage-csi-provisioner:v4.0.1
image: rancher/mirrored-sig-storage-csi-attacher:v4.5.1
image: rancher/mirrored-cloud-provider-vsphere-csi-release-driver:v3.3.0
image: rancher/mirrored-sig-storage-livenessprobe:v2.12.0
image: rancher/mirrored-cloud-provider-vsphere-csi-release-syncer:v3.3.0
image: rancher/mirrored-sig-storage-csi-provisioner:v4.0.1
image: rancher/mirrored-sig-storage-csi-attacher:v4.5.1
image: rancher/mirrored-cloud-provider-vsphere-csi-release-driver:v3.3.0
image: rancher/mirrored-sig-storage-livenessprobe:v2.12.0
image: rancher/mirrored-cloud-provider-vsphere-csi-release-syncer:v3.3.0
image: rancher/mirrored-sig-storage-csi-provisioner:v4.0.1
root@systemd-node-1:/# kubectl get pod -n kube-system -l component=rancher-vsphere-cpi-cloud-controller-manager -o yaml | grep image:
image: rancher/mirrored-cloud-provider-vsphere-cpi-release-manager:v1.30.1
image: docker.io/rancher/mirrored-cloud-provider-vsphere-cpi-release-manager:v1.30.1

I don’t have access to vsphere so I can’t actually get it as far as bringing up a cluster on 1.29 and then upgrading to 1.30 but I don’t see why it shouldn’t work. If you have access, I would check to see if there are any errors in the helm jobs for the vsphere charts to see why they haven't updated the pods to use the correct image.

 I upgraded from 1.29.9 to 1.30.5 and then to 1.30.6 and since 1.30.5 my csi-related image tags are all latest:
kubectl get pod -n kube-system -l app=vsphere-csi-controller -o yaml | grep image:
      image: rancher/mirrored-sig-storage-csi-attacher:v4.3.0
      image: rancher/mirrored-sig-storage-csi-resizer:v1.8.0
      image: rancher/mirrored-cloud-provider-vsphere-csi-release-driver:v3.1.2
      image: rancher/mirrored-sig-storage-livenessprobe:v2.10.0
      image: rancher/mirrored-cloud-provider-vsphere-csi-release-syncer:v3.1.2
      image: rancher/mirrored-sig-storage-csi-provisioner:v3.5.0
      image: docker.io/rancher/mirrored-sig-storage-csi-attacher:v4.3.0
      image: docker.io/rancher/mirrored-sig-storage-csi-provisioner:v3.5.0
      image: docker.io/rancher/mirrored-sig-storage-csi-resizer:v1.8.0
      image: docker.io/rancher/mirrored-sig-storage-livenessprobe:v2.10.0
      image: docker.io/rancher/mirrored-cloud-provider-vsphere-csi-release-driver:v3.1.2
      image: docker.io/rancher/mirrored-cloud-provider-vsphere-csi-release-syncer:v3.1.2
      image: rancher/mirrored-sig-storage-csi-attacher:v4.3.0
      image: rancher/mirrored-sig-storage-csi-resizer:v1.8.0
      image: rancher/mirrored-cloud-provider-vsphere-csi-release-driver:v3.1.2
      image: rancher/mirrored-sig-storage-livenessprobe:v2.10.0
      image: rancher/mirrored-cloud-provider-vsphere-csi-release-syncer:v3.1.2
      image: rancher/mirrored-sig-storage-csi-provisioner:v3.5.0
      image: docker.io/rancher/mirrored-sig-storage-csi-attacher:v4.3.0
      image: docker.io/rancher/mirrored-sig-storage-csi-provisioner:v3.5.0
      image: docker.io/rancher/mirrored-sig-storage-csi-resizer:v1.8.0
      image: docker.io/rancher/mirrored-sig-storage-livenessprobe:v2.10.0
      image: docker.io/rancher/mirrored-cloud-provider-vsphere-csi-release-driver:v3.1.2
      image: docker.io/rancher/mirrored-cloud-provider-vsphere-csi-release-syncer:v3.1.2
      image: rancher/mirrored-sig-storage-csi-attacher:latest
      image: rancher/mirrored-sig-storage-csi-resizer:latest
      image: rancher/mirrored-cloud-provider-vsphere-csi-release-driver:latest
      image: rancher/mirrored-sig-storage-livenessprobe:latest
      image: rancher/mirrored-cloud-provider-vsphere-csi-release-syncer:latest
      image: rancher/mirrored-sig-storage-csi-provisioner:latest
    - image: rancher/mirrored-sig-storage-csi-attacher:latest
    - image: rancher/mirrored-sig-storage-csi-provisioner:latest
    - image: rancher/mirrored-sig-storage-csi-resizer:latest
    - image: rancher/mirrored-sig-storage-livenessprobe:latest
    - image: rancher/mirrored-cloud-provider-vsphere-csi-release-driver:latest
    - image: rancher/mirrored-cloud-provider-vsphere-csi-release-syncer:latest

this is fine tough:
kubectl get pod -n kube-system -l component=rancher-vsphere-cpi-cloud-controller-manager -o yaml | grep image:
      image: rancher/mirrored-cloud-provider-vsphere-cpi-release-manager:v1.30.1
      image: docker.io/rancher/mirrored-cloud-provider-vsphere-cpi-release-manager:v1.30.1
      image: rancher/mirrored-cloud-provider-vsphere-cpi-release-manager:v1.30.1
      image: docker.io/rancher/mirrored-cloud-provider-vsphere-cpi-release-manager:v1.30.1
      image: rancher/mirrored-cloud-provider-vsphere-cpi-release-manager:v1.30.1
      image: docker.io/rancher/mirrored-cloud-provider-vsphere-cpi-release-manager:v1.30.1

Your results are matching multiple pods, some of which are using the correct images, and some of which are not. I'd probably figure out why you have some pods using the wrong images.


fix: npm test script karma start

Fixes #426

Since CI is not fully set up, the failures in CI should not block the merging of this PR, I feel.

I've merged #400 which fixes this as well as a couple of other things.


azure: ad->aad rename

Reacting to one more change from the cloudprovider PR.

ah yes, ad should obviously be aad. I should have caught that in the original review :)


Execute the CloudFormation stack failed on China region

SchedulerRule create failed:
Parameter arn:aws:lambda:cn-northwest-1:xxxx:function:Instance-Scheduler-InstanceSchedulerMain is not valid. Reason: Provided Arn is not in correct format.
Fix: the correct ARN should be arn:aws-cn:lambda:cn-northwest-1:xxxx:function:Instance-Scheduler-InstanceSchedulerMain

Update the arn from arn:aws to arn:aws-cn in *.template as new the *-cn.template
Create S3 bucket solutions-{region}-{AccountId}
Download resource: s3://solutions-us-east-1/aws-instance-scheduler/v1.3.0/instance-scheduler.zip to your s3 bucket as step2
For example:
aws s3 cp instance-scheduler.zip s3://solutions-cn-northwest-1-{AccountId}/aws-instance-scheduler/v1.3.0/instance-scheduler.zip --region cn-northwest-1 --profile cn-north-1

I have fork the project and update code to make it work for cn-north-1 and cn-northwest-1 region
https://github.com/liangruibupt/aws-instance-scheduler

@liangruibupt, thank you for this initiative. Since this solution does not officially support AWS China region, I would close this ticket for now.


[Bug Title here] On selecting contributors page navbar still highlights home

What happened?
Once we click on contributors page, the navbar section stills shows home is selected instead of contributors.

As we can see home is highlighted

How can we reproduce this bug?
It should highlight contributor instead of home.
Desktop Information (Optional)
No response
Urgency (Optional)
High priority
Record

[X] I agree to follow this project's Code of Conduct
[X] I have checked the existing issues
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

Too easy issue


Small typo in src/config/responsive-base.ts

case "pixelratio":                     this.set_active_subscriptions.pixelratio == true;                     break;
should be only
this.set_active_subscriptions.pixelratio = true;
Also really nice work keep it up.
Would be nice if you could support angular2-universal, i know it's a bit complicated.
I`ve adapted the code for me to support it but it would break for people who don't use universal since i used the isBrowser constant from angular2-universal

Hi! Thanks for your suggestion. : )
I want to work for a compatibility for universal. If you want to create a thread and see how to give ng2-responsive functionality for an initial render. ; )

Hi! Thanks for your suggestion. : )
I want to work for a compatibility for universal. If you want to create a thread and see how to give ng2-responsive functionality for an initial render. ; )


fix: Add details to contributing guide

This intended to add descriptions to env variables, but they are already documented, and it is not necessary for users to worry about them anymore. Having the env variables activated in conf.py and conftest.py is enough.
Closes #56

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

Project coverage is 59.70%. Comparing base (c5c5ca4) to head (1bef247).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #81   +/-   ##
=======================================
  Coverage   59.70%   59.70%
=======================================
  Files          21       21
  Lines         675      675
=======================================
  Hits          403      403
  Misses        272      272

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


added backlight monitor

I sincerely apologize for the long delay, I had to update my laptop to test this and kept putting that off, but I finally got around to it.
Looks great, and again thank you very much for your contributions.


Update timeout

I'm opening up this PR because of a debugging adventure that konklone@ and I went down on, which essentially ended up in the fact that the website worked 100% ok if you put a longer timeout. I think the default timeout for pshtt should be much higher, to account for laggy websites on the internet.
I did a test on a random 10K subset of the Alexa 1 million and found the following (apologies for lack of formatting).
Timeout | Total liveness
5sec | 9640
10sec | 9651
15sec | 9654
20sec | 9655
Timeout | Number of endpoints to come online
5->10sec | 105
10->15sec | 75
15sec->20sec | 65
Breakdown of number of endpoints to come online
Timeout | 1 endpoint | 2 endpoints | 3 endpoints | 4 endpoints
5->10sec | 2 | 25 | 7 | 71
10->15sec | 3 | 15 | 5 | 52
15sec->20sec | 2 | 14 | 7 | 42
As we can see, 5 seconds captures a lot of websites, but if you increase to 10 seconds, not only do you find 11 more websites come online, but you also find a larger number of endpoints come online.
Based on these numbers, I propose that the default timeout be 10 seconds to account for the nature of websites on the internet.

This is only a two line change, but @eric-zeng and @adrifelt, can you take a look?

@amirian28, thank you for your several excellent contributions and for bringing some rigor to the default! I'm a 👍  for this change.
FYI, when doing pshtt runs on .gov domains (most typically through domain-scan), we set a default to 30 seconds. Extra generous, except in cases where we know we're scanning non-domestic USG systems.

Absolutely! Happy to contribute.
And I gotcha! Good to know. 30 seconds definitely is generous :) I could see where that would be helpful though.

Nice work, I like this :)

This is great stuff, and the rigorous approach to evaluating its impact is much appreciated.
FWIW, given the numbers you've shared, I'd be just fine with a 20 second default too. Either way, this is a solid improvement, and thank you!

To give more reasoning behind why I chose 10 over 20: I essentially see it as a tradeoff. You still get a significant increase in sites and information about the sites when you go from 5 to 10 (~1%), but that increase in information decreases when you go 10->15(~.75%) and 15->20(~.65%). To me, that tradeoff didn't seem worth the extra resources that you need to use to run pshtt on every site for 20 seconds, esp. if the site isn't live and it's just wasting resources. I'm also using this tool on large swaths of the internet, though, so I'm trying to be a bit more conservative :)

I agree, this is great!
It makes me wonder if there should be a flag that sets a few more lenient variables (like timeout) for those more swath-y types of scans.

@IanLee1521 I don't quite understand. There is already a timeout flag. What are you thinking of exactly?

To give more reasoning behind why I chose 10 over 20: I essentially see it as a tradeoff. You still get a significant increase in sites and information about the sites when you go from 5 to 10 (1%), but that increase in information decreases when you go 10->15(0.75%) and 15->20(0.65%). To me, that tradeoff didn't seem worth the extra resources that you need to use to run pshtt on every site for 20 seconds, esp. if the site isn't live and it's just wasting resources. I'm also using this tool on large swaths of the internet, though, so I'm trying to be a bit more conservative :)

Sure, I just see 0.75% and 0.65% as almost as significant as 1% in terms of ROI. And a 20 second timeout doesn't ensure that the tool spends 20 seconds on each site - it's just the maximum tolerated time on a particular request. Generally, most requests should take well below 10 seconds, much less 20, so I would see it as likely a strong upside.
I haven't timed it across a huge swathe under both conditions, which would be interesting to do. But yeah, offhand it looks like 20s would get us more, without costing us much.

That's totally fair. I'll leave it up to y'all if you want to change it to
20, which as we talked about, does indeed give more coverage.
On Sun, Aug 13, 2017 at 11:39 AM Eric Mill<EMAIL_ADDRESS>wrote:

To give more reasoning behind why I chose 10 over 20: I essentially see it
as a tradeoff. You still get a significant increase in sites and
information about the sites when you go from 5 to 10 (1%), but that
increase in information decreases when you go 10->15(0.75%) and
15->20(0.65%). To me, that tradeoff didn't seem worth the extra resources
that you need to use to run pshtt on every site for 20 seconds, esp. if the
site isn't live and it's just wasting resources. I'm also using this tool
on large swaths of the internet, though, so I'm trying to be a bit more
conservative :)
Sure, I just see 0.75% and 0.65% as almost as significant as 1% in terms
of ROI. And a 20 second timeout doesn't ensure that the tool spends 20
seconds on each site - it's just the maximum tolerated time on a particular
request. Generally, most requests should take well below 10 seconds, much
less 20, so I would see it as likely a strong upside.
I haven't timed it across a huge swathe under both conditions, which would
be interesting to do. But yeah, offhand it looks like 20s would get us
more, without costing us much.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dhs-ncats/pshtt/pull/98#issuecomment-322059174, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFI0LI_WfUt1dfOfbMIwZQQe-4FtG4Pvks5sX0LFgaJpZM4O1Aip
.

--
Ariana Mirian
Ph.D Student, UC San Diego
Computer Science and Engineering
arianamirian.com


Inset dividers example for Gallery

From https://www.google.com/design/spec/components/dividers.html#dividers-types-of-dividers

Seems like we could punt this from the first gallery release.

This is now nicely covered by https://www.youtube.com/watch?v=_liUC641Nmk.


Missing Code Signature

Hi,

this is especially bad for apps that want to change the system configuration, because I really have no way to tell if someone replaced the executable with something malicious.

/cc @ferventcoder

You can get an inexpensive code signing cert for open-source projects from Certum: https://www.certum.eu/certum/cert,offer_en_open_source_cs.xml. It's 14 Euro per year.

We'll be doing this for 0.15.0 with our Chocolatey Software authenticode cert.

@ferventcoder How far out are we from the official 0.15 release with the executable signed?

Not that far. Working on this now.

This is actually delaying the release now, as the the WixProj wants to rebuild ChocolateyGui.exe after I've signed it.

@ferventcoder This should go back to the 0.15.0 milestone, right?

Yes, apologies.

Thanks for the updates and I see that it's closed now too!

Hey,
I've problems with excution of ChocolateyGUI right now related to the certificate.
It's stated that the certificate is revoked by the issuer, see screenshot below.

What's wrong here?

This has moved over to #505 (@winnieXY opened).


GPU crash when activating console

Windows 10 x64, CP2077 1.06 GoG in Borderless Window mode, CyberEngineTweaks v1.7.1, RX 570 graphics card with latest drivers,
Not running: (I checked these after other comments about crashes)  Rivatuner, Reshade, Discord overlay, Steam overlay, Gog Overlay
As soon as I push tilde to enable the console my PC locks up, then the game crashes.  Looking  at the CP2077 crash report this is a GPU crash:
stacktrace.txt:
Error reason: Assert
Expression: <Unknown>
Message: Gpu Crash for unknown reasons! Callstack here is probably irrelevant. Check if Breadcrumbs or Aftermath logged anything useful.
File: e:\r6.patch0hotfix2\dev\src\common\gpuapi\src\dx12\gpuapidx12error.cpp(40)

gpucrash-.txt:
Full content here:  https://pastebin.com/raw/haeRrv4Z
Any ideas what else to check for, or what to adjust to fix the crash?

Seems to be exact same issue @TheChief5055 had (he put it inside one of a now closed issue that was unrelated to his in the end)
And yes if you read it Chief, didn't forget... Just cannot tell what exactly is wrong, as it literally crashes inside AMD driver, checking out the memdump you sent...
#280 (for reference, last few comments there)
Honestly, hard to tell exactly what is messed up, but it seems it started happening after 1.06 game update and correlates somehow with what AMD GPU driver does.
I don't own AMD GPU so I'm unable to debug this properly.... Seems like this issue is affecting them in some way, as there seems to be no other correlation at this point in time... And as said, looking at the memory dump of his, it seems to crash in GPU driver, not in our mod...
If I'd have a guess, I believe they must have changed some part of rendering code silently between 1.05 and 1.06 (silently here meaning it is not mentioned at all in patch notes) and that is now causing some weird issues with this mod on AMD hardware.

It crashes when CP2077 runs in windowed mode. When CP2077 runs in fullscreen, console works great, with or without AMD Overlay. Well, at least now I can use that wonderful mod of yours, so thanx again.

According to one Discord user with AMD gpu that had crashes, latest test build I sent him seems to have helped.
I poked yamashi to create new official build, try it if you can if it helps.

Report from another Discord user, GhostMirror, running AMD Drivers 20.12.1 on RX Vega 56, CET 1.7.2, Reshade, and RTSS in fullscreen mode getting CTD upon opening console. Was advised to run in borderless windowed mode but, instead, disabled Reshade and RTSS which appears to have resolved the issue. GM also reenabled Reshade and RTSS and switched from fullscreen to borderless windowed which also appears to have resolved the issue as expected.

According to one Discord user with AMD gpu that had crashes, latest test build I sent him seems to have helped.
I poked yamashi to create new official build, try it if you can if it helps.
(NOTE: it is already out, 1.7.2 is the one in question)

Build 1.7.3 fixed the issue for me; using the same settings in my original post and upgrading the CyberEngineTweaks version works fine.  Thank you very much for the fix (and for the tool in general)

FPS dropped from 50+ to 1 when activating console(ver 1.7.3)

@inkdonkey that is already fixed, wait till next release. Should drop soon.

Minor update: reinstalling Reshade didn't cause any problems with the 1.7.3 release.

Minor update: reinstalling Reshade didn't cause any problems with the 1.7.3 release.


Is this project ABANDONED?

I would love to have this in V10.x, but we haven't seen anything since v 0.8x.

I created a fork to update this to v11. No plans to support v10 with it though as v11 changed up how scenes store/update data somewhat and reintroducing support for the old method is certainly possible but not something I'm interested in doing. I do plan on trying to keep it functional on later versions too (but no promises on that).
https://github.com/MiniGrief/FoundryVTT-Scene-Defaults-V11


Unable to find package in Package Control

I can't seem to find this package in ST3.
Sublime Text 3
Build 3038
Release Date: 26 March 2015

Package Control v3.0.1

Forget it. Must have been some kind of a temporary issue (network maybe?). Working now.


Angular2

I just came across this awesome library, particularly this demo. Unfortunately I'm working within an Angular2 app and thus I'm hoping it can be (or, hopefully, has been) ported to Angular 2. If no such effort currently exists then I'd be very interested in initiating it, with your assistance.

the same situation.
Will you adapt the library to angular 2?

Duplicate of #229
I was nearly done with a new version of this library (see dev branch), once I get around to finishing that, I'll do an angular2 version. Please don't wait for me though, I don't maintain this directive very regularly.

@marceljuenemann any inputs on this yet, I require such feature in my app.thanks

+1. Nice work. Would be nice to have this for Angular 2. If it comes to that, I hope to be able to contribute.


Teacher/Student gameplay

something that involves sensei/student type relationship in-game would be kinda cool to have and give players something to bond about

maybe increased gains % from training ,or learning jutsus faster, or earning extra income from mission, or ramen shop/items cost less , extra 10 regen etc

Are there requirements to become a sensei?

How would a player become a sensei?

Would sensei have their own area of specialization so they'd train only certain kinds of students or any will do? With these I'm thinking of a way to display/promote themselves.

Any progression mechanics for sensei itself? Is seeing students graduate enough?

How will a student find a sensei for themselves?

How will a sensei find students?

How many students would a sensei have at a time?

Are there activities these students can do either with each other or with their sensei? Exclusive to sensei-student.

Rando-idea: Swap out Village Menu, turn it into Academy Menu. Add sensei listing.

Yasutake has given some thoughts on this on Discord. I'll post on his behalf:
Are there requirements to become a sensei?

An active player of the game, Chuunin (1 student) Jounin (3 stuents)

How would a player become a sensei?

A player would become a Sensei by either requesting to be one directly at the village center, and is given a quota of students to take on, probably a droplist of available genin.

Would sensei have their own area of specialization so they'd train only certain kinds of students or any will do? With these I'm thinking of a way to display/promote themselves.

They can train all students, however if they specialize in a specific area then the student they take on, who also specializes there, has a training boost.

Any progression mechanics for sensei itself? Is seeing students graduate enough?

Seeing students graduate, become clan leaders, maybe Kage, gain PVP kills, become Bounty hunters, Established medical Nin, or even taking on students themselves

How will a student find a sensei for themselves?

A student would most likely have to approach via mail and ask, with confirmation their active.

How will a sensei find students?

Checking the village registry for active genin (and from the droplist mentioned earlier)

How many students would a sensei have at a time?

1 (chuunin) 3( Jounin)

Are there activities these students can do either with each other or with their sensei? Exclusive to sensei-student.

Yes, a 4 way spar with the two students and their sensei,
A 3 way free for all against eachother, group training which enhances their abilities faster,
Group missions to be carried out together, they're dynamic, so a C rank can change to a B/A rank for the thrill of uncertainty.

This all sounds pretty good, i'm starting work on a sensei system on my local machine. Not sure if it'll ever be implemented but i'll try to whip something up - right now i'm just trying to set it up so a user can be set up as a teacher or a student and how the information will be stored and grabbed, etc. I'm also thinking of setting up so there's a student registry and teacher registry but still thinking about that. Its pretty basic tho and not so clean. So i'm a little hesitant about it ever being used in production but I think of it as good practice.
For boosts i'm thinking of giving students a 15% training boost -> with teachers starting with a 1.01x multiplier boost so 1% of gains and as students earn skill points the sensei equivalently earns 1 teaching skill point for every 1 skill point a student learns. Right now I just want to see if I can get the system running and implemented without clogging up any of the other code already set up. For teachers its not very useful but with time maybe we can add other boosts or more student-teacher interactivity.
Right now i'm setting up a Sensei_Manager class that'll handle the DB interaction as well as allocate or update any information regarding sensei or student in the User Class. If I can get that working then i'll move on to figuring out just how the registering students or claiming teachers process will even work.
If I can get a simple sensei system set up we can work on any needed changes for the online dev build and then work on improvements and extra bits in time with Lsm's approval. Maybe somebody else can take over too since i'm not very experienced and can't work on it as much as the average person.


Create enemy prefab

Acceptance Criteria

there should be an enemy prefab
the enemy should have some kind of movement towards a point of interest (perhaps with random movement away from it)

Finished and added to main in d4855fc


Created a new action

Phases
MM
MB
MR
JM
Total

ETA
0.2
0
0
0
0

Developing
0.2
0
0
0
0

Review
0
0
0
0
0

Total
-
-
-
-
0

ETA est.

0

ETA cust.
-
-
-
-
0

Problem description
Reported issues
Not-reported issues
Analysis
(Write here, if there is needed describe some specific problem. Erase it, when it is not needed.)
Problems
(Write here, if some unexpected problems occur during solving issues. Erase it, when it is not needed.)

Majo Berger done this.


align all filenames to a standard

the filename pattern now supports a CVO runlevel, an operator name, and an operator ordering string.  The rest of the name is always <cvo runlevel>_<operator name>_<operator ordering>_<crd plural>[MARKERS].crd.yaml.
Since we're already moving directories, those vendoring already needed to change names, so this isn't hugely more disruptive than existing moves.
/assign @JoelSpeed
after lunch,  I'll create a followup with a dep.go in each generated CRD dir so we can vendor them.

Proto out of date, and some test file has not been updated, but otherwise LGTM

/lgtm


"git branch checkout python"

In the instruction, I think you mean to say. "git branch checkout python", not just "git checkout python"

Hi @Wen-Xue-Gogo, thank you for taking a look at the Starter Kit.  I do believe "git checkout python" is correct.  If you cloned the repo before I created the python branch you may need to run "git fetch origin python" first.