rancher doesnt update var/lib/rancher/etc/agent.conf properly

I am running Rancher behind a HTTPS Proxy with Apache using a signed SSL certificate, I can connect to Rancher server normally via browser, but the Rancher agent is unable to connect to the server.
The Rancher agent log says:
ERROR: https://my-server/v1 is not accessible

But I can invoke that URL in the browser without problems:

Useful
Info

Versions
Rancher v1.1.0 Cattle: v0.165.4 UI: v1.1.12

Access
Disabled

Orchestration
Cattle

Route
hosts.new.index

Important information: it looks like Rancher agent rejects self signed SSL certificates.
I can connect to the Rancher server using:
curl -k  https://my-server/v1

maybe you should give some info about your os and your docker version.
i got the same problems running rancher v1.0.1 with docker 1.11 and Ubuntu 16.04. back then  #4630 i switched to ubuntu 14.04 with docker 1.10.3 and it worked, but with rancher 1.1.0 i cant tell.

Rancher Server:

rancher/server:v1.1.0
CentOS Linux release 7.2.1511 (Core)
Docker version 1.10.3, build 9419b24-unsupported

Rancher Agent

rancher/agent:v1.0.2
CentOS Linux release 7.2.1511 (Core)
Docker version 1.11.2, build b9f10c9

I did another test to check connectivity from inside Rancher Agent container to the Rancher Server. The container can reach Rancher server without problems:
ERROR: https://my-server/v1 is not accessible

[root@theHost ~]# docker exec -it modest_elion bash

root@386d2b7db431:/# curl https://my-server/v1
{"id":"v1","type":"apiVersion","links":{"accounts":"https://   ......

I have a kind of the same issue.
i think its the socket connection trying to connect with http.
Caddy Server Proxy logs: http: response.Write on hijacked connection

@averri does your proxy support (secure) websockets because that is the type of connection being made from the agent to the server.
If you could also paste a bigger chunk of the agent logs, that also might be useful.

Hi @cjellick, yes, the proxy supports secure websockets, as I have another Rancher Agent connected with success using wss.
Please find the log bellow. I can give you access to the server running rancher agent if you want.
INFO: Running Agent Registration Process, CATTLE_URL=https://my-server/v1
INFO: Checking for Docker version >= 1.6.0
INFO: Found Server version: 1.11.2
INFO: docker version: Client version: 1.6.0
INFO: docker version: Client API version: 1.18
INFO: docker version: Go version (client): go1.4.2
INFO: docker version: Git commit (client): 4749651
INFO: docker version: OS/Arch (client): linux/amd64
INFO: docker version: Server version: 1.11.2
INFO: docker version: Server API version: 1.23
INFO: docker version: Go version (server): go1.5.4
INFO: docker version: Git commit (server): b9f10c9
INFO: docker version: OS/Arch (server): linux/amd64
INFO: docker info: Containers: 8
INFO: docker info: Images: 46
INFO: docker info: Storage Driver: devicemapper
INFO: docker info: Pool Name: docker-253:1-1442645-pool
INFO: docker info: Pool Blocksize: 65.54 kB
INFO: docker info: Base Device Size: 10.74 GB
INFO: docker info: Backing Filesystem: xfs
INFO: docker info: Data file: /dev/loop0
INFO: docker info: Metadata file: /dev/loop1
INFO: docker info: Data Space Used: 6.941 GB
INFO: docker info: Data Space Total: 107.4 GB
INFO: docker info: Data Space Available: 39.4 GB
INFO: docker info: Metadata Space Used: 12.32 MB
INFO: docker info: Metadata Space Total: 2.147 GB
INFO: docker info: Metadata Space Available: 2.135 GB
INFO: docker info: Udev Sync Supported: true
INFO: docker info: Deferred Removal Enabled: false
INFO: docker info: Deferred Deletion Enabled: false
INFO: docker info: Deferred Deleted Device Count: 0
INFO: docker info: Data loop file: /var/lib/docker/devicemapper/devicemapper/data
INFO: docker info: Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
INFO: docker info: Library Version: 1.02.107-RHEL7 (2015-12-01)
INFO: docker info: Execution Driver:
INFO: docker info: Kernel Version: 3.10.0-327.18.2.el7.x86_64
INFO: docker info: Operating System: CentOS Linux 7 (Core)
INFO: docker info: CPUs: 2
INFO: docker info: Total Memory: 3.703 GiB
INFO: docker info: Name: yyy.zzz.net
INFO: docker info: ID: EKF6:AJCQ:VJIA:EEGC:NMAI:JEOD:VMPU:7J4M:3QDP:TQXL:HZCB:SGC2
INFO: docker info: Http Proxy:
INFO: docker info: Https Proxy:
INFO: docker info: No Proxy:
INFO: Attempting to connect to: https://my-server/v1
ERROR: https://my-server/v1 is not accessible

I have discovered that this problem was related to a nonexistent certificate declared in /var/lib/rancher/etc/agent.conf. I have removed the lines from this file, and now the agent is able to connect to Rancher server via HTTPS.

@averri after a restart it works for me too ;)
my proxy: kartoffeltoby/caddy_proxy
conf for the agend: env HOST_PORT=8080 and HTTPS_DOMAIN=rancher.domain.com

Thanks for sharing @averri. I'm trying to determine if there is a bug in our script.
@averri Can you share the line you had to delete? Was this line something you add or something that we generated incorrectly or did we generate it correctly but then you updated you config (to no longer have that file) and we didn't update accordingly.

Hi @cjellick, you're welcome.
I deleted the two lines that was in the /var/lib/rancher/etc/agent.conf, now the file is empty. One of the lines was pointing to /var/lib/rancher/etc/ssl/ca.crt which does not exist anymore. I believe I removed the certificate from that location after getting my Rancher Server SSL certificate signed. The other line, I believe that it was the Rancher Server URL or another URL, I can't remember, Unfortunately I have closed the SSH terminal.
The steps I did to reach the problematic state was:

Started Rancher server with HTTP, and Rancher Agent on another server. The Rancher agent was able to connect to Rancher Server via HTTP normally.
Started the Rancher server again, now behind Apache with self-signed SSL certificate. The Rancher agent was not able to connect to the server, so I have followed the procedures here: http://docs.rancher.com/rancher/latest/en/installing-rancher/installing-server/basic-ssl-config/
I don't know who populated the file /var/lib/rancher/etc/agent.conf, I have tried many things so it could be possible that I have added the lines to this file, but I am not sure
Removed the lines from /var/lib/rancher/etc/agent.conf, making it empty, restarted the agent and it connected with success.

Maybe you may include some checks before using the certificate file configured in the /var/lib/rancher/etc/agent.conf. Just check if the path exist before using the variable.
@KartoffelToby, do you remember the lines you removed from /var/lib/rancher/etc/agent.conf?

I'didnt remove any config lines. I restared the Server and Agent.
But my Agent and my Server are connecting via a internal Interface, so the Proxy Connect to a second Interface on 8080 Port to the Server

I change the title of this and added the bug label.
I think there is a legitimate bug here around how we manage /var/lib/rancher/etc/agent.conf. It could be that we are not updating this file properly if the environment changes.
Also, it looks like we have an issue that causes the agent to not be able to connect at all. We could perhaps make rancher more resilient to a bad config in that file.

For those of you coming from #2237,
here is the new solution (tested today, and it works)
Create a Dockerfile in a dir and put the following text
FROM docker.io/rancher/agent:v1.2.6
COPY ca.crt /usr/local/share/ca-certificates/
RUN update-ca-certificates && \
    cat /usr/local/share/ca-certificates/ca.crt >>/usr/local/lib/python2.7/dist-packages/requests/cacert.pem

Add you ca.crt file in the directory aswell.
Build and tag the image (un)appropriately: docker build -t rancher/agent:v1.2.6 . (replace v1.2.6 if there is a new version, in both the Dockerfile and the tag)
Proceed with the commands, as instructed in the "Add Host" wizard.
Enjoy the awesomeness of Rancher!

@denysvitali, that should be unnecessary since that is what rancher/agent does by default. As long as the cert is bind mounted into the container at /var/lib/rancher/etc/ssl/ca.crt the init scripts will put them in the correct places. Shouldn't be a need to build a whole new container.


Create branch

In this Milestone following was added

Created a Database named animals
Created a Table
Added data in the table
Added queries


Feature/m2 widgets

This addition will allow us to add shortcodes (as we're used to in the WYSIWYG CMS page editor) from Magento2 inside the Wordpress instance.
For example:

Refering to #35


BUG: chiainit is_drive_mounted() grep pattern matches incorrect targets

Problem
This line in chiainit.py causes is_drive_mounted() to incorrectly report drives as being mounted when they are not.
Proof of concept:
I am trying to initialize /dev/sdb, which is not mounted, but /dev/sdba1 is mounted. The grep expressing matches /dev/sdba1, and thus reports that /dev/sdb is mounted when it is not.
$ drive="sdb"
$ if grep -qs "/dev/${drive}[0-9]*" /proc/mounts ; then echo 'FOUND'; fi
FOUND
$ grep -s "/dev/${drive}[0-9]*" /proc/mounts
/dev/sdba1 /mnt/jbod1/jbod1-00014KYV ext4 rw,noatime 0 0

This was on a Debian Linux system, so YMMV if you are using a different grep variant or have configured bash globbing differently.
Explanation
Typically an asterisk is used in bash with paths for globbing. Ie, if we consider ls /dev/sda[0-9]*, it would only list all of the partitions of /dev/sda since the expansion is occuring via bash globbing.
However, since it's the path is part of a grep PATTERN, instead of globbing, the asterisk is being used as part of the REGEX as a repetition specifier.  The default REGEX engine used is BRE, which treats the asterisk as: The preceding item will be matched zero or more times.  Thus the [0-9]* pattern makes the digit optional (ie, 'match 0 or more times').  It's effectively just looking for any entry in /proc/mounts that contains /dev/$drive.
Solution
To solve this, simply match one or more instead of zero or more:

via BRE: grep -qs "/dev/${drive}[0-9]\+" /proc/mounts
via ERE: `grep -qsE "/dev/${drive}a[[:digit:]]+"
via PCRE: grep -qsP "/dev/${drive}\d+" /proc/mounts

However, it's technically possible in Linux to mount a full-disk filesystem without a partition table (mkfs.ext3 /dev/sdb ; mount /dev/sdb /mnt/something). We probably want to also detect this, just in case! So something like this might be more appropriate:
grep -qs "/dev/${drive}[0-9]* " /proc/mounts
Note the addition of the space at the end of the PATTERN. That would only match the expected $drive OR any of it's partitions, but not any other drive whose name is a superset of our drive. And 1-character bug fixes are cool :)
Thanks!

Hey, thank you for your well explained input. I really appreciate.
I had disabled the checking for mounted disks in the later iterations of chiainit. I suspect there are lots of people who are going to try this out on jbods with a gnome or kde preinstalled distribution, where disks are automounted. The checking for mounted disks would then add those disks in the "excluded list" automatically - essentially causing chiainit to do nothing and not giving any error codes. So for that reason the function is currently never called.
After removing checking for mounted disks, wipefs, parted and mkfs will fail anyways on mounted disks - and in this case giving decent error codes. Labeling will not fail, but then its not a destructive action either.
I am not sure if this is good practice, but I intend to leave the function disabled for now.
You do have a very valid point though, that writing filesystems without partition tables is possible. In hindsight I wish I had never included partitionning of the drives in chiainit because I think its somewhat unneccesary. The issue is that gardenmount is picking up on those parititons and if I change the formatting behaviour of chiainit I would have to find a smooth transition in gardenmount for "old" users.
I guess your suggested one character bugfix may be a solution for that problem, too?
I've included your suggested bugfix for the (disabled) function in the latest push. We never know, when we'll use it. Thank you!!

Woops, I didn't realize I wasn't on the latest version and you mitigated the bug already! I was on 775516d and just started using the tool yesterday, so bad timing on my part
I'd keep the partitions -- it's more standard and makes the drives more portable. I was most justifying a different appraoch to correcting the (non)issue. The partition entry also double as a nice place to store some metadata (label). Chalk that up as another case of 'if it aint broke, dont fix it' :)
Thanks for all the hard work!


Fix hex publish throwing errors

Issue/Task Number: T850
Overview
Fix hex throwing errors when trying to actually publish the package.
Changes

Updates to mix.lock from running mix deps.get
Bumped up the version since the previous commit has already been tagged as 0.1.0
Added the maintainers field since hex docs mentioned that it's optional but it's required in the command line.

Implementation Details
Fields are updated according to https://hex.pm/docs/publish
Usage
After this PR and another go at publishing to Hex, this repo should be available as a hex package on hex.pm
Impact
N/A

@sirn Note that we'd like to include you as the maintainer (you did 99.99% of this!) but we weren't so sure if you have any privacy concerns. Let me know how you'd like to be represented and I'll add you in.


[BUG] Ingress Snippet Disabled by default in v1.26.11 on Rancher v2.7.7

Rancher Server Setup

Rancher version: 2.7.7
Installation option (Docker install/Helm Chart):

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): Docker Install

Proxy/Cert Details:

Information about the Cluster

Kubernetes version: v1.26.11
Cluster Type (Local/Downstream):

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider):

Previously, installing helm chart with ingress snippet  worked fine, now it fails to install / upgrade:
Error: INSTALLATION FAILED: 2 errors occurred:
	* admission webhook "validate.nginx.ingress.kubernetes.io" denied the request: nginx.ingress.kubernetes.io/configuration-snippet annotation cannot be used. Snippet directives are disabled by the Ingress administrator
	* admission webhook "validate.nginx.ingress.kubernetes.io" denied the request: nginx.ingress.kubernetes.io/configuration-snippet annotation cannot be used. Snippet directives are disabled by the Ingress administrator

Also running into this. Right now this blocks keycloak from upgrading on my cluster...

Also running into this. Is there any possibility to enable this directives?

When I ran into this, I have found somewhere a snippet to enable that enabled this. It's a security risk, so it has its disadvantages.

I also found the allow-snippet-annotations to be set to true ( now the default is false) in ConfigMap. But seems not working. Or at least how I've added it didn't work.

is there a way to bypass this? Or do I need to remote the rancher ingress and just install just an nginx ingress that isn't the rancher one?

the way to solve this ,is to the following in the rancher cluster management yaml:

ingress:
  provider: nginx
  options:
    allow-snippet-annotations: "true"


add "guilds.members.read" scope

Added missing scope needed to obtain the role ids of the user

Thanks!


Auto discover KeySAV2 keys

KeySAVe could try to discover KeySAVe keys upon initial start up to make migration easier.

Since we need to search a potentially huge file tree, this should probably be done with native code. It should even be possible to use the OS' indexed search?


Integer value of h3Index

Hi,
I know that since Js does not support BigInteger this library is returning hex results as index, but is there any safe way to use BigInt object in js to handle these numbers? since in my case I need to manipulate the indexes.

I found a blogpost on the subject
If your JS environment has BigInt defined, you can simply do BigInt('0x' + h3Index) or h3Indexes.map(h => BigInt('0x' + h)) to get the value you want, and then simply bigIntH3.toString(16) later to get back the string representation.

@dfellis thanks so much,
So why this library is not using BigInt objects for h3index? is there anything related to possible issues? except some issues related to general support of BigInt by different environments.

Lots of reasons:

BigInt didn't exist anywhere when we started this project, so you can't fault us for not using it. ;)
There are still many large holes in compatibility with BigInt. According to this table Safari (desktop and mobile), Typescript, Babel, the JSON format (probably forever for this one), and Node 8.x and earlier lack BigInt support.
Emscripten, the tool used to transpile our C H3 library to Javascript represents 64-bit integers as 2 32-bit integers because BigInt did not exist when it was created, either, and conversion costs to and from BigInt will be required. (This is also true with the string representation, but that representation is compatible with everything and is probably cheaper than the BigInt representation in both memory and compute speed (just two simple itoa calls and then a string concat (which could simply be two memcpys) versus a special object for manipulating arbitrary precision integers).
Minor, but the beginning the H3Index is decently aligned with 4-bit hexadecimal chunks such that you can "read" it and recognize some properties of the H3Index visually. If it starts with an 8 it's a regular H3Index while if it starts with 10 it's a unidirectional edge. The next hex digit after that indicates its resolution, with 0 - F representing resolutions 0 to 15, so 89... is a regular H3Index at res 9. That makes the hex representation more useful for humans than the BigInt representation, so if we have to pay a performance price, anyways.

Finally, we do try to include many utility functions for manipulating the indexes without needing to worry about the low-level representation details. Would you mind sharing what you believe you need to do that the H3 library cannot do for you?

@dfellis Thanks so much,
Well I am want to us a kind of trees to search between hex indexes to find a specific cell in an array of cells and so I need to be able to convert them to numbers, suppose we have 1M cells and we want to query them by a range between [a,b] so I wanted to use a kind of tree structure to query hexes.

 ;)
I will admit that we never considered that case for Javascript when building the library because code written in Python, Java, or Go on the backend would need those sorts of tools while code written in Javascript was usually on the front-end and only needed hash-based lookups for rendering purposes.
I hope my earliest comment solved your immediate problems with sorting and searching the data (btw, a sorted array can be used in place of an actual tree with the metadata that would normally be attached to the tree stored in a hash table, as you can do a binary search for records, and then loop through those records to get the metadata you need with the hash table / object lookup).
As far as adding BigInt support to this library I would defer to @nrabinowitz . It doesn't seem too hard to do, but there would need to be some capability detection and then a wrapper around every binding function to do it, so there would be little-to-no performance improvement to do it in this library, but it might make it a slightly cleaner API.

@dfellis Thanks for your comment,
Yes I want to use it as an index to access objects, However I am trying to make it's prototype in js and see if that actually works for large datasets of data or not,

I hope my earliest comment solved your immediate problems with sorting and searching the data (btw, a sorted array can be used in place of an actual tree with the metadata that would normally be attached to the tree stored in a hash table, as you can do a binary search for records, and then loop through those records to get the metadata you need with the hash table / object lookup).

I was thinking about this as well, but I don't know how that would work with window query or for knn query when we have a large array of items. lets say millions of cells.

@dfellis Thanks for your comment,
Yes I want to use it as an index to access objects, However I am trying to make it's prototype in js and see if that actually works for large datasets of data or not,

I hope my earliest comment solved your immediate problems with sorting and searching the data (btw, a sorted array can be used in place of an actual tree with the metadata that would normally be attached to the tree stored in a hash table, as you can do a binary search for records, and then loop through those records to get the metadata you need with the hash table / object lookup).

I was thinking about this as well, but I don't know how that would work with window query or for knn query when we have a large array of items. lets say millions of cells.

So, that's a LOT of data to crunch in Javascript. I would recommend using Java instead if you can. There is a huge performance bottleneck in V8 with arrays around 100k and up in size.

@dfellis
I think I can switch to java at some point, but is there anything similar to TreeMap in python? It is easier to me to switch to python than Java since I want to load those cells from IPFS into the Tree structure and the current implementation of IPFS is not in complete in Java.

I'm not as big of a Python guy as some others. I know there's nothing like that in the standard library, but there might be something in the ecosystem. @ajfriend might be able to answer that.
It's weird, but you could use Node's child process functionality to spawn a Java sidecar process to do these lookups for you, using something like JSON-RPC over stdin/stdout to handle the communication back and forth for you.

If you're going the Python route, would a normal python dict solve your problem?
You might also look at the bisect module, or numpy.searchsorted.
Getting a little more sophisticated, you might look at cykhash, which should be quite fast, and can be called from pure Python directly, or from compiled Cython code.
Or, I might be completely missing the point, and there's a good reason to use a tree over a hash table. 😄

@dfellis  Thanks very much for your help, If I think in that case if python is also not supporting that I do in java and handle the communications between nodejs and java since the objects that are needed to be transmitted are not that complex.
@ajfriend Thanks for your reply, Does those packages and libraries are able to handle large arrays? for example a few millions?

numpy should be able to handle things up to a few million pretty easily.
Here's an example with numpy and a Python set for 100 million integer 64-bit integers. Both seem fast.
The set approach looks a bit faster for testing membership, and would probably be more flexible around adding/removing members than the numpy sorted array.

@ajfriend wow, thanks so much, You really saved my day.


Add ignore-unknown-fields flag

I'm happily picking up the suggestion from #143 to add an ignoreUnknownFields flag with this pull request. Similarly to the mempool flag, it can either be used as an option in the .proto file, or as a flag on the CLI.
I was able to test the change with a command line flag on the CLI, but was unable to test it with the option in the .proto file. Unfortunately I still don't fully understand how to use the ext.proto file in a project (the import google/protobuf/descriptor.proto failed).
I'm also unsure whether I should add new test cases for the feature and if so, how.

I had not changed the code you mentioned, because it wouldn't do anything, if unknownFields hadn't been filled during the unmarshalling. If unknownFields was still present, someone must have used the "regular" Unmarshal instead of UnmarshalVT or maybe had stored an old message, from whence the ignoreUnknownFields feature was not active.
I wasn't quite sure what the best approach in such a scenario would be and thought it might be best to assume the unknownFields were present for a good reason. However, I'm fine with your approach as well and am now stripping the unknownFields out of every message when calculating size, cloning and marshalling.
I have not extended the documentation for the newly adapted methods, as I feel like the changes won't be interesting for most of the users.
PS: I assume you are aware, but just to be sure: The EqualVT method still reports equality only if the unknownFields match.

PS: I assume you are aware, but just to be sure: The EqualVT method still reports equality only if the unknownFields match.

I think it makes a lot of sense to not fail equality when you're working on a message where you've explicitly opted in to ignore unknown fields. Likewise, if you've Unmarshalled with protobuf, we still don't want to emit unknown fields when you serialize with this library, and so on. Any other behavior would be IMO inconsistent, so fully cleaning up the codegen of all unknownFields references seems sensible to me.
PS: thanks again for all your effort here!

Thank you!

Thanks a lot for your help and patience!


snowpack failed to compile

✖ snowpack failed to load node_modules/react-use-measure/dist/web.js
  'debounce' is not exported by node_modules/debounce/index.js, imported by node_modules/react-use-measure/dist/web.js

looks like a bug w snowpack. debounce is declared in package.json https://github.com/react-spring/react-use-measure/blob/master/package.json#L107

Sure. I already did that. Thanks


Add a loading mask while scrolling

There should be a loading mask element that is displayed on each call to the server back-end. This will give the user visible feedback.

the load when scrolling is to fast to use a loading icon


Will it be upgraded to Swift5.2?

Brief Intro
When will it upgrade to Swift 5.2? Some APIs have been deprecated.

More Details
If it's in the plan, I'll try to make some PRs to upgrade it to Swift5.2

// Package.swift
.swiftVersion: "5.2",


we win if one of the good case is check

Need to change else if to else

doesn't work we need to count how many of the good case are check, if there is the good amount of good case check we win


Use updates-testing for podman-py image

Ref: https://github.com/containers/podman-py/pull/235

@umohnani8 we might need the image id from here in a podman-py PR, might wanna include it in the lint PR itself.

Assuming the build works, it's going to be c20230207t150657z-f37f36u2204.

From the logs:
fedora-podman-py:   Installing       : podman-5:4.4.0-1.fc37.x86_64                       189/214


object of type 'int' has no len()

Logger: ramses_rf.protocol.command
Source: /usr/local/lib/python3.9/site-packages/ramses_rf/protocol/command.py:151
First occurred: November 27, 2021, 9:16:36 AM (120 occurrences)
Last logged: 12:01:36 AM

validate_command(): object of type 'int' has no len()
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/ramses_rf/protocol/command.py", line 143, in _wrapper
    return fcn(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/ramses_rf/protocol/command.py", line 505, in get_relay_demand
    return cls(RQ, _0008, zone_idx, dev_id, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/ramses_rf/protocol/command.py", line 267, in __init__
    self._validate(
  File "/usr/local/lib/python3.9/site-packages/ramses_rf/protocol/command.py", line 336, in _validate
    self._len = int(len(self.payload) / 2)
TypeError: object of type 'int' has no len()

I'm quite spammed by this error. running 0.16.20 of evohome_cc on Hassio

I think this commit should solve the issue. https://github.com/zxdavb/ramses_rf/commit/fb527538530265685f5df41a57b1fd02711c5e0e
please confirm if I'm wrong otherwise feel free to close it


UFW Logging 'Full' can result in system logs being filled up too fast on devices with limited disk space

It seems that using 'full' logging with ufw might be a bit excessive. Doing so seems to cause /var/log/syslog, /var/log/ufw.log and /var/log/kern.log to fill up incredibly quickly. I observed 50GB of storage used for the logs after running normally some small web applications for 3 or 4 days.

Suggested change: default to low or medium logging modes.


Add CRC local testing

There's a new 2.18 release of CRC.  I wanted to see if this works any better.  I will close if there is no change.
https://github.com/crc-org/crc/releases/tag/v2.18.0

Closing until we get bigger runners.


Google fonts with SSL

Had issues with google fonts and SSL. Following worked for me.
How to use Google Fonts under both SSL and non-SSL:
http://www.amixa.com/blog/2012/06/06/how-to-use-google-fonts-under-both-ssl-and-non-ssl-without-ssl-insecure-messages/

👍


GH-44903: [C++] Add the Expm1(exponent) scalar arithmetic function

Expm1(exponent) is a more accurate way of computing Exp(exponent) - 1.0 for small values of exponent.
Rationale for this change
expm1(x) is specifically designed to compute exp(x)−1 more accurately, particularly for small x. It uses numerical techniques and approximations that minimize the loss of precision.
When x is very small (close to 0), exp(x) is approximately 1+x. Subtracting 1 from exp(x) (i.e., (exp(x)−1) can result in significant cancellation of significant digits due to floating-point arithmetic, leading to a loss of precision).
For example:
When x = 10^−8, exp(x) is close to 1 + 10^−8, so subtracting 1 leaves only the small 10^−8, which may lose accuracy due to floating-point limitations.
Are these changes tested?
Yes.
Are there any user-facing changes?
Yes and documentation was updated to list the new function.

GitHub Issue: #44903

R test failures seem unrelated.


TypeError in UNREGISTER_FIELD when deleting syncErrors

Are you submitting a bug report or a feature request?

In action @@redux-form/UNREGISTER_FIELD is TypeError in method deleteIn.
deleteIn method parameters are:
state = {
...,
syncErrors: {
zastupce: null
}
...
}
field = "syncErrors.zastupce.subjekt"
What is the current behavior?

TypeError: Cannot use 'in' operator to search for 'subjekt' in null
What is the expected behavior?
Check existing sync error depth when sync errors are deleted in unregistering.
Sandbox Link

What's your environment?

redux-form version:
6.7.0 - with error
6.6.3 - works ok, no error
Other information

Can you provide an example of your issue, please?

Try click to hide button...
It seem to that error is shown only if validate method returns nested object as null (SyncValidationForm.js).
https://codesandbox.io/s/rRZ7O11A6

OK, so I finally had so time to look into your issue.
I ran bisect on top of the v6.7.0 changelog, and I found that #2889 is the root of the problem here.
It seems like only plain JS is affected by this issue; I tried using redux-form/immutable, and it works: https://codesandbox.io/s/9QA1oqqzx

Because this issue saw almost no activity for a few months, I'm closing it.


Only add source files that are needed

indexing using '-f' on the command line adds all specified files.
Idea: check PDB for files present and only add needed ones.
Implementation: does this need a new switch, that is: would someone rely on having 'unneeded' files added?
Is this a regression of #75?

Source linking with v2 works differently than v1 because /sourcelink option has been baked into the C# and F# compilers & Visual Studio 2017. With v2, most the time it is just going to be a wildcard in the json.
{"documents": { "C:\\Users\\camer\\cs\\sourcelink-test\\*" : "https://raw.githubusercontent.com/stffabi/sourcelink-test/b5012a98bed12f6704cb942e92ba34ccdbd920d8/*" }}


Added stream interceptors for Open Tracing

This PR adds more stream interceptors for Open Tracing, however, stream interceptors are almost useless:
gRPC stream interceptors control stream lifecycle (e.g. creation), so open tracing stream interceptor creates span on stream creation and finish span on stream close. Since we do not close streams, we see nothing regarding streams in Jaeger UI.
Stream interceptors do not intercept traffic on the stream, so if we need to trace/log particular messages travelling on the stream we can do it manually with Open Tracing API (I added empty span creation on cross connect event in crossconnect_monitor.go)

@platoff @matrohon what is the way forward here? Do we need this PR? If yes - please address the comments and merge master resolving the conflicts.


Improve data migration process (restore crds)

This PR is a

[ ] Feature Implementation
[x] Bug Fix
[ ] Documentation

What this PR does / why we need it:
It fixes minor problems in the migration process:

fixed retry function
improved error wrapping

Which issue(s) this PR fixes
Fixes https://github.com/kyma-project/kyma/issues/5993
Please leave this checklist in the PR comment so that maintainers can ensure a good PR.
Merge Checklist:

[ ] New feature

[ ] Tests
[ ] Documentation

[ ] SVCat CLI flag
[ ] Server Flag for config

[ ] Chart changes
[ ] removing a flag by marking deprecated and hiding to avoid
breaking the chart release and existing clients who provide a
flag that will get an error when they try to update

/ok-to-test

you need to add proper rbac:
I1015 14:23:33.692100       1 migration.go:669] Removing owner referneces from secrets
Error: when removing owner references from secrets: servicebindings.servicecatalog.k8s.io is forbidden: User "system:serviceaccount:catalog:migration-job-account" cannot list resource "servicebindings" in API group "servicecatalog.k8s.io" at the cluster scope
==== END logs for container job of pod catalog/catalog-catalog-migration-job-22b65 ====

source: https://storage.googleapis.com/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_service-catalog/2730/pull-service-catalog-test-migration/1184109479549997057/artifacts/logs/catalog/catalog-catalog-migration-job-22b65/logs.txt

/test pull-service-catalog-test-migration

/test pull-service-catalog-test-migration

/test pull-build-all-images-for-arm

Release process is now controlled by DEPLOY_TYPE variable set in .travis file.
In case of commit to master "SC release *" jobs are triggered but they do not perform any action:

In the logs you can see:

Opposite situation(SC-master is skipped) occurs when new release is created:

/test pull-build-all-images-for-s390x

/test pull-build-all-images-for-ppc64le


fix(helm): Fix the bug in helm dependency update -verify

Helm dependency update --verify should fail when verification fails.
Closes #2717

Is this ready to merge? If so, feel free to merge it @nebril


Open Source

I noticed from your tweet that you plan to abandon this mod and I was curious if you could open source it? This is such a staple for all mod packs I would hate to see it gone.

Sure. Will upload the code this weekend.

i cannot thank you enough for this, is this going to be under a MIT license? i was writting a new mod for this but if it is ill be so willing to help continue this.

Sure. Will upload the code this weekend.

Create multiple branches for multiple minecraft versions

Might be a bit borked up from my porting / rewriting attempts. The APNG library is also missing. Seems to work though.

@ROMVoid95 are you working on this? If not let me know and ill talk to the team to see if someone is down.

all im doing at the moment is setting up the ability to set global variables that can be called recursively though any custom menu file. And seeing if any methods are available to optimize screen recognition (res /w gui scaling options).


SFX module exports

We can add the following options to buildSFX:

sfxFormat: The output module format of the sfx bundle itself. Can be amd, es6, cjs, umd, global (the default).
sfxExports: A module in the sfx bundle whose exports should be taken to be the value of the bundle. By default it is the first module in the bundle expression. We take the first module of the sfx build.

This way the SFX bundle becomes a module itself to be used in any environment.

This is a really nice idea. Big :+1:, will really help us.

Anything I can do to help?

Help is very much welcome at this point as there is only so much I can do. Would you be interested in contributing?

First attempt is at https://github.com/systemjs/builder/pull/185.

I think this would solve my creating of a open source library in system and then publishing it as a generic module for other consumption.

This is now finished and tested thanks to @nnnnathann!

Released in 0.12.0.

thanks @nnnnathann & @guybedford !

Folks, is there a way to "skip" certain dependencies from being bundled and make them dependencies of the resulting bundle?
webpack has this feature, activated by specifying externals
The use case for this is especially important for a library like React, in that I cannot afford to load multiple copies of the library by accident and therefore cannot bundle React with my library.

@erfangc yes via exclusion bundling app.js - react.

@guybedford Do you have an example of this? I'm curious to know if I can write most of my code in ES6, but import some AMD define() modules from CDN.
For example, I'd like to write app code like
// a.js
import B from './b'
new B

// b.js
import Foo from 'network-location-alias/Foo' // AMD module.
export default class B extends Foo {}

Or maybe instead of an alias just an actual URL like
// a.js
import B from './b'
new B

// b.js
import Foo from '//some-cdn.com/path/to/Foo' // remote AMD module.
export default class B extends Foo {}

Then I'd like to build my code with JSPM, and for JSPM to magically wire something up that will fetch the network module and make that work.
I'd also like to have the option of writing code like
// a.js
import B from './b'
new B

// b.js
import Foo from './Foo' // local AMD module that exists in the file system
export default class B extends Foo {}

but to configure JSPM to not include Foo.js in the bundle, to output it to the output location, and to then load it through network (f.e. I serve the output folder over HTTP).
Are any of those options available?


tlog: false error when disconnecting client and server

It seems that when the tlogclient disconnects from the tlogserver, we get at some point an io.EOF  error in the tlogclient receiver at:
https://github.com/zero-os/0-Disk/blob/314316585ce1d4201c7b8cd1a2fc913e17d5b868/tlog/tlogclient/client.go#L222-L226
This logs an error now, even though an io.EOF at the point of disconnecting ourselves is quite acceptable. So I think:

we either somehow filter io.EOF away in case we triggered the disconnect ourself, but that seems error prone;
or a perhaps better idea would be that we ensure that we close that goroutine before we start disconnecting our connection with the server, such that it will never receive the io.EOF when we disconnect on purpose ourselves;

This bug doesn't cause any issues I think, but it's confusing to see a logged error, when really that seems to be just expected behavior.
I do not think we can simply ignore the io.EOF error, as it would indicate an error in case this happens because the server disconnects before we want so.

I think a different issue but for now I don't know if it's a bug or not, is that I also get from that same log line, when stopping a qemu-system emulation: a use of closed network connection error. Not sure if that's just another error type used for a connection that is closed, or if this actually indicates a bug where we were still trying to read replies from the server but couldn't any longer?

or if this actually indicates a bug where we were still trying to read replies from the server but couldn't any longer?

It is persistent connection, so the client trying to read from socket continuously.
At this stage, it could be:

some error in the network
the server indeed close the connection

One thing for sure, i don't understand why it becomes a bug.
But yes, logging it as error is sometimes not appropriate

Just realized the title, the error is not returned, it is just logged

Well of all types of bugs it's the least bad one to have. I rather have false negatives than false positives, that's for sure. But still, it's confusing and if possible there should be no error log at all there.

some error in the network

Yes because io.EOF could also be because of some error in the network. I think it would be the easiest solution, if possible, to exit such receiver goroutines right before we disconnect, as at that point we shouldn't receive anything anymore anyhow, as we have no more connection. Another possibility would be to have some state, and know that in this state we don't have to care about io.EOF, but that is more of an ugly solution imho, as it would force us to check such a variable at all times...

just to make sure, your point is the logging, right?
Because both cases (network error & server closes the connection) already handled

Yes, my point is the logging. But you cannot just remove it, as there are scenarios where io.EOF at that location is an error that should be notified.


Install error stars.png (Permission denied)

Windows 7, Julia 0.4.5:
julia> Pkg.add("Luxor")
INFO: Cloning cache of Luxor from https://github.com/cormullion/Luxor.jl.git
INFO: Installing Luxor v0.2.0
error: unable to create file docs/figures/stars.png (Permission denied)

Other files seem to get copied into .julia\v0.4\Luxor\docs\figures directory OK.

Weird, the file seems OK here on github.com...

OK I reinstalled Luxor and everything seems good. (No error this time and stars.png is in figures directory).
I did Pkg.rm("Luxor") and completely removed Luxor directory from .julia\v0.4 before reinstalling.
Problem must have been at my end, so closing this.

Thanks @GregPlowman. I like to blame cosmic rays for cases like this. :)


Installation fails with "AssertionError: Multiple .dist-info directories"

I cannot install napari inside a fresh Python venv, using pip install napari. Here is the error message
Installing collected packages: numpy, toolz, dask, qtpy, ipython-genutils, decorator, six, traitlets, jupyter-core, tornado, python-dateutil, pyzmq, jupyter-client, wcwidth, prompt-toolkit, pickleshare, ptyprocess, pexpect, backcall, parso, jedi, pygments, IPython, ipykernel, qtconsole, PyOpenGL, pillow, imageio, scipy, PyWavelets, networkx, cycler, pyparsing, kiwisolver, matplotlib, scikit-image, shiboken2, PySide2, fsspec, wrapt, zipp, importlib-metadata, pluggy, freetype-py, vispy, pytz, babel, packaging, docutils, urllib3, idna, chardet, certifi, requests, alabaster, sphinxcontrib-htmlhelp, sphinxcontrib-serializinghtml, sphinxcontrib-applehelp, sphinxcontrib-qthelp, imagesize, snowballstemmer, sphinxcontrib-devhelp, MarkupSafe, Jinja2, sphinxcontrib-jsmath, sphinx, numpydoc, napari
  Running setup.py install for tornado ... done
  Running setup.py install for wrapt ... done
Exception:
Traceback (most recent call last):
  File "/home/emma/sandbox/venv_napari/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 143, in main
    status = self.run(options, args)
  File "/home/emma/sandbox/venv_napari/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 386, in run
    use_user_site=options.use_user_site,
  File "/home/emma/sandbox/venv_napari/lib/python3.7/site-packages/pip/_internal/req/__init__.py", line 49, in install_given_reqs
    **kwargs
  File "/home/emma/sandbox/venv_napari/lib/python3.7/site-packages/pip/_internal/req/req_install.py", line 760, in install
    use_user_site=use_user_site, pycompile=pycompile,
  File "/home/emma/sandbox/venv_napari/lib/python3.7/site-packages/pip/_internal/req/req_install.py", line 382, in move_wheel_files
    warn_script_location=warn_script_location,
  File "/home/emma/sandbox/venv_napari/lib/python3.7/site-packages/pip/_internal/wheel.py", line 324, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/home/emma/sandbox/venv_napari/lib/python3.7/site-packages/pip/_internal/wheel.py", line 273, in clobber
    ', '.join(info_dir))
AssertionError: Multiple .dist-info directories: /home/emma/sandbox/venv_napari/lib/python3.7/site-packages/napari/plugins/_tests/fixtures/napari_working_plugin-0.1.0.dist-info, /home/emma/sandbox/venv_napari/lib/python3.7/site-packages/napari-0.2.12.dist-info

I'm using python 3.7 on Ubuntu.

This will be fixed in the next version, but for now please try updating pip.  See also #1009 and #1036

ok thank you!

how about warning about this problem in this napari doc? I'm happy to submit a PR if you think this is appropriate (unless of course the next release is very soon)

Yeah, it’s already fixed in master and the next release is soon, aaand most people won’t have pip <v20 at this point anyway... so I’m a little hesitant to make it official in the docs.  We are working hard to get the next release out very soon!

Great to hear about the release coming soon, thanks for your hard work! pip 20 was released this January so I guess most of your users started using Python a while before (and pip is not something you think of upgrading, or you just upgrade when there is a problem which does not happen often).


Service Now alerting profile

Describe the bug
We may upgrade to Monaco v2 when its GA/supported. But until then, we we'll use v1.
We experience the following when trying to create Service Now alerting profiles:
Snippet of config
config:
  - customer common services apis_pn_snow_high: service-now.json
customer common services apis_pn_snow_high:
  - name: customer common services apis_pn_snow_high_{{ .Env.MONACO_ENV }}
  - alertingProfile: config/alerting-profile/customer common services apis_ap_high.id
  - instanceName: REDACTED
  - username: REDACTED
  - password: REDACTED

The service-now.json looks like this:
{
  "type": "SERVICE_NOW",
  "name": "{{ .name }}",
  "alertingProfile": "{{ .alertingProfile }}",
  "active": true,
  "message": "{ProblemID} {ProblemTitle}",
  "instanceName": "{{ .instanceName }}",
  "username": "{{ .username }}",
  "password": "{{ .password }}",
  "sendIncidents": true,
  "sendEvents": false
}

Resulting error:
You are currently using the old CLI structure which will be used by
default until monaco version 2.0.0

Check out the beta of the new CLI by adding the environment variable
  "NEW_CLI".

We can't wait for your feedback.

2023-03-06 06:30:27 INFO  Dynatrace Monitoring as Code v1.7.0
2023-03-06 06:30:27 INFO  Executing projects in this order:
2023-03-06 06:30:27 INFO        1: config (131 configs)
2023-03-06 06:30:27 INFO  Processing environment cky14011...
2023-03-06 06:30:27 INFO        Processing project config...
2023-03-06 06:30:33 INFO  Deployment summary:
2023-03-06 06:30:33 ERROR Deployment to cky14011 failed with error!
2023-03-06 06:30:33 ERROR       Failed to create DT object customer common services apis_pn_snow_critical_secondary (HTTP 400)!
    Response was: {"error":{"code":400,"message":"Validation failed for 2 Validators.","constraintViolations":[{"path":"builtin:problem.notifications/0/serviceNowNotification/url","message":"Given property 'url' with value: '' violates the following constraint: Size must be between 1 and 1000.","parameterLocation":"PAYLOAD_BODY","location":null},{"path":"builtin:problem.notifications/0/serviceNowNotification/url","message":"Given property 'url' with value: '' violates the following constraint: Not a valid http(s) URL.","parameterLocation":"PAYLOAD_BODY","location":null}]}}, responsible config: config/notification/service-now.json
2023-03-06 06:30:33 ERROR Errors during deployment! Check log!

How to reproduce
See above
Expected behavior
Service now alerting profile to be created
Log output
error dump above
Environment (please complete the following information):

OS: macOs Ventura, but same error on our AWS CodeBuild image
Tool version 1.7.0 (also tried with 1.8)

Additional context
Add any other context about the problem here.

Hi @edfenergy-stevebowerman, please read the API error message in the log you shared
"builtin:problem.notifications/0/serviceNowNotification/url","message":"Given property 'url' with value: '' violates the following constraint: Size must be between 1 and 1000."

Your JSON template is missing an URL.
If this problem persists after adding one/none is part of the Config API payload, this is an issue in the internal conversion from the deprecated API to the "builtin:problem.notifications" Settings schema.
In that case, please contact Dynatrace Support, letting them know you're facing issues with the Notifications API/Settings 2.0.
In either case, closing this as not a Monaco specific issue.

See also: https://www.dynatrace.com/support/help/dynatrace-api/configuration-api/notifications-api/models#servicenow-notification.
The description of the URL field being mutually exclusive to instanceName suggests that this may really be a problem in how this is validated as a Setting internally.

Hi, thanks for the response, but I have read the error message before posting.
url and instanceName are mutually exclusive. So as you can see in my posting, we've supplied the instanceName, but NOT the url in the service-now.json
However, monaco seems to disagree as I'm clearly NOT passing in the url attribute, just the instanceName.

However, monaco seems to disagree as I'm clearly NOT passing in the url attribute, just the instanceName.

As I tried to mention, this Error is coming from Dynatrace, not Monaco.
Monaco is not aware of the exact contents of the payload it simply fills the template and calls the Dynatrace API.
The log shows an HTTP 400 reply and the accompanying message.
As mentioned, I think this might be an issue with validating the "builtin:problem.notifications" Settings schema.
Please contact Dynatrace Support, letting them know you're facing issues with the Notifications API/Settings 2.0 not with monaco.


Auto-focus Terminal on selection

Issue Type: Feature Request
When I have multiple terminals in the tab stack, and I select one, I have to then click again inside the terminal itself to have focus and start typing comands.
It gets very annoying very fast, is there a way to auto-focus on the terminal to start typing commands when I select a terminal from the stack of terminals? It would be quite faste to select the terminal and start typig right away.
VS Code version: Code 1.56.2 (054a9295330880ed74ceaedda236253b4f39a335, 2021-05-12T17:44:30.902Z)
OS version: Darwin x64 20.5.0

Yes, double click the tab to focus the terminal

You can change this to single click to focus with this setting:
"terminal.integrated.tabs.focusMode": "singleClick"

Awesome, thanks @Tyriar and @meganrogge


add custom web fonts

add custom web fonts;
load web fonts asynchronously using fontfaceobserver;
use sessionstorage to set flag after fonts load for the first time

Coverage remained the same at 100.0% when pulling 86ff5b17512a5cb8c8e8fa2ca4c1b07d7fc6f430 on fonts into 869cb5baff08c8cbf70351a279f49c9c41e5a491 on master.

Coverage remained the same at 100.0% when pulling df0138963a3c3b15ce7dde5d8c8036ca1e4602c9 on fonts into b7e2afad52bcb53497e88f237ef84cc65c3b96a3 on master.

Coverage remained the same at 100.0% when pulling 69f883c8c8010bc4f1908bf45048438dd5a15399 on fonts into bee79c2fe645ad48c74f27680ad740d0854c083c on master.

Coverage remained the same at 100.0% when pulling 489307bde482e55758c09933d12c61a4fe0df38c on fonts into bee79c2fe645ad48c74f27680ad740d0854c083c on master.

Coverage remained the same at 100.0% when pulling 064c644ae678530346a06a01aab8d181374556e7 on fonts into bee79c2fe645ad48c74f27680ad740d0854c083c on master.

@sveroude the font src urls are still an issue as they point to the files on the fonts branch via rawgit. But this fonts branch will be removed once this PR is merged, which means the font files will then no longer be available. So please still make the changes as suggested in this review: https://github.com/voorhoede/voorhoede-ocelot-formatter/pull/39/files#r94327452

Coverage remained the same at 100.0% when pulling f38e394ee26a15c09716e9484194f3b93e2be94f on fonts into 0692a1661254ad39102ecd6f185be3a61d095d69 on master.

Coverage remained the same at 100.0% when pulling f26f6c39a7efbb186426c83d743e537fd776645c on fonts into 0692a1661254ad39102ecd6f185be3a61d095d69 on master.

Coverage remained the same at 100.0% when pulling b5e9be89c300e5f1455194c300d02fd6f15874d2 on fonts into 0692a1661254ad39102ecd6f185be3a61d095d69 on master.


Update "Refs and the DOM" documentation

As function components can now have state through hooks, remove the part that mentions converting a function component to a class component to be able to use state.

Merged with a couple tweaks, thanks!


Release v3.0.0

Proposed change notes below. There are some other changes, like moving items from the main package to subpackages. The relevant ones are mentioned, but clients shouldn't be using the other ones, so I have omitted them.
We've taken this opportunity to address a number of breaking changes.
To get these updates, and other ones going forwards, you'll need to update references from github.com/getyoti/yoti-go-sdk/v2 to github.com/getyoti/yoti-go-sdk/v3
Added

Error returned can be wrapped, and can be signified as being "temporary", i.e. it might be worth retrying the request (see README for example)

Changed

Preferred way of initialising the yoti client:

client :=  yoti.Client{sdkId, key} -> client, err := yoti.NewClient(sdkId, key)

GetActivityDetails(yotiOneTimeUseToken) now returns a single error, instead of "error strings". This can wrap multiple errors
anchor.value now returns a single string, rather than []string
Subpackage creation (moved from core yoti package:

Aml structs to aml subpackage:

yoti.AmlAddress -> aml.Address
yoti.AmlProfile -> aml.Profile

Dynamic Scenario structs moved to dynamic subpackage:

&yoti.DynamicScenarioBuilder{} -> &dynamic.ScenarioBuilder{}

share.ExtraData -> extra.Data
Share URL creation changed:

yoti.CreateShareURL(&client, &scenario) -> client.CreateShareURL(&scenario)

yoti/attribute -> yoti/profile/attribute
yoti.AgeVerification -> (yoti/profile/)attribute.AgeVerification

Image.Data is now a function, rather than a field:

selfie.Value().Data -> selfie.Value.Data()

The following methods can now potentially return an error:

SourceConstraintBuilder.Build()
WantedAttributeBuilder.Build()
ThirdPartyAttributeExtensionBuilder.Build()

(&ThirdPartyAttributeExtensionBuilder{}).New(). -> (&ThirdPartyAttributeExtensionBuilder{})

Removed

yoti.Image (use media.PNGImage or media.JPEGImage instead)
yoti.UserProfile (use profile.UserProfile) instead

I think this point in the release notes should be changed from:

Removed

yoti.UserProfile (use yoti.Profile) instead

to:

Changed

yoti.Profile -> profile.UserProfile

Also, the README needs to be updated to reflect this - perhaps we should split the README like other SDKs before release? I also noticed a minor typo in the README: "Retrieveing the user profile", which could be corrected whilst doing this.

I think this point in the release notes should be changed from:

Removed

yoti.UserProfile (use yoti.Profile) instead

to:

Changed

yoti.Profile -> profile.UserProfile

Also, the README needs to be updated to reflect this - perhaps we should split the README like other SDKs before release? I also noticed a minor typo in the README: "Retrieveing the user profile", which could be corrected whilst doing this.

@davidgrayston I've split out the README, corrected the typo, updated the snippet. As discussed, have left the release notes as they are, since we "deprecated" yoti.UserProfile in a previous release

Since the AML documentation has been removed shall we also remove the AML example?


URL Availability in Insert Callback

I'm using CollectionFS, cfs-gridfs, cfs-ejson-file. In the callback after I insert a file into a collection, I can call the url method of the file object, but all I get is null. If I wait for one second, the URL will be available. A similar problem is that if I load a page that displays files (using the url method as a handlebars helper) before the URL is available, the files won't load until I refresh the page.
Is there a callback when the URL gets assigned, or a way to reactively monitor the url?

Hi @aldeed ,
I'm not sure if this is a problem with CollectionFS or summernote but any advice would be appreciated.
Following your comment above from last Jul 31 I am doing...
fileObj.on("uploaded", function() {
        console.log('editPage onImageUpload CmsImages.insert fileObj.on uploaded...');
        imageURL = '/cfs/files/cms-images/' + fileObj._id;
        $dom = $("<img>").attr('src',imageURL);
        $summernote.summernote("insertNode", $dom[0]);

and then passing imageURL to summernote's insert method whic then throws
GET http://localhost:3000/cfs/files/cms-images/mZsMWhrF5oZwQFbdG 503 (Service Unavailable)

After a page refresh everything looks ok.
Thanks

Hi @aldeed , I have problem when using fileObj.on("stored", func) on the server . I use CollectionFS S3. This is what I have done on the server
Files.insert(fsFile, function (err, fileObj) {
            if (err) {
               server.log(err);
            } else {
                fileObj.on("stored", function() {
                    server.log('good');
                });

            }
        });

and it has following error :
W20151119-15:38:53.774(7)? (STDERR) /home/duonglei/Namsoft/Projects/SEN/.meteor/local/isopacks/cfs_s3/npm/node_modules/aws-sdk/lib/request.js:32
W20151119-15:38:53.774(7)? (STDERR)           throw err;
W20151119-15:38:53.775(7)? (STDERR)                 ^
W20151119-15:38:53.778(7)? (STDERR) NoSuchKey: The specified key does not exist.
W20151119-15:38:53.779(7)? (STDERR)     at Request.extractError (/home/duonglei/Namsoft/Projects/SEN/.meteor/local/isopacks/cfs_s3/npm/node_modules/aws-sdk/lib/services/s3.js:328:35)
W20151119-15:38:53.779(7)? (STDERR)     at Request.callListeners (/home/duonglei/Namsoft/Projects/SEN/.meteor/local/isopacks/cfs_s3/npm/node_modules/aws-sdk/lib/sequential_executor.js:100:18)
W20151119-15:38:53.779(7)? (STDERR)     at Request.emit (/home/duonglei/Namsoft/Projects/SEN/.meteor/local/isopacks/cfs_s3/npm/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
W20151119-15:38:53.779(7)? (STDERR)     at Request.emit (/home/duonglei/Namsoft/Projects/SEN/.meteor/local/isopacks/cfs_s3/npm/node_modules/aws-sdk/lib/request.js:604:14)
W20151119-15:38:53.780(7)? (STDERR)     at Request.fsm.setupStates.transition (/home/duonglei/Namsoft/Projects/SEN/.meteor/local/isopacks/cfs_s3/npm/node_modules/aws-sdk/lib/request.js:21:12)
W20151119-15:38:53.780(7)? (STDERR)     at AcceptorStateMachine.runTo (/home/duonglei/Namsoft/Projects/SEN/.meteor/local/isopacks/cfs_s3/npm/node_modules/aws-sdk/lib/state_machine.js:14:12)
W20151119-15:38:53.780(7)? (STDERR)     at /home/duonglei/Namsoft/Projects/SEN/.meteor/local/isopacks/cfs_s3/npm/node_modules/aws-sdk/lib/state_machine.js:26:10
W20151119-15:38:53.780(7)? (STDERR)     at Request.fsm.setupStates.err.domainEmitter (/home/duonglei/Namsoft/Projects/SEN/.meteor/local/isopacks/cfs_s3/npm/node_modules/aws-sdk/lib/request.js:22:9)
W20151119-15:38:53.781(7)? (STDERR)     at Request.AWS.Request.inherit.emitEvent (/home/duonglei/Namsoft/Projects/SEN/.meteor/local/isopacks/cfs_s3/npm/node_modules/aws-sdk/lib/request.js:606:12)
W20151119-15:38:53.781(7)? (STDERR)     at Request.callListeners (/home/duonglei/Namsoft/Projects/SEN/.meteor/local/isopacks/cfs_s3/npm/node_modules/aws-sdk/lib/sequential_executor.js:104:18)
=> Exited with code: 8

Don't know what is the cause of this. My best guess is something related to S3 policies ?

@leizard did you ever find the solution to your problem? I am getting the same error when deployed to heroku but not when i am running locally or on the meteor servers. Also using S3

same issue, thanks.
It fixed i move the db insert codes the fileObj uploaded event callback.


Update transition docs

transition had changed in 2.1.8, but it was not reflected in some docs.
I added it.

see #696

Guys, we at @translation-gang are waiting for this changes to be merged to merge our translations for the same thing )

Somewhat related, is there a more readable way to follow updates to the docs? Thanks.

@fabd keep an eye on commits to master (https://github.com/vuejs/vuejs.org/commits/master)


More specific check for the reading content

For example:
When we read the response, Can we make sure the response status codes is HTTP status code (3-digit-number starting with 1, 2, 3, 4, 5 or the range definition allowed: 1XX, 2XX, 3XX, 4XX, 5XX)

This is handled in #215 as a validation rule


Allow using readOnly property as part of group creation/patching

Add readOnly property to CreateGroupParams,  UpdateGroupParams,  and Group interfaces
Update group tests to include readOnly property

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


chore(deps): update module github.com/schollz/progressbar/v3 to v3.14.6

This PR contains the following updates:

Package
Type
Update
Change

github.com/schollz/progressbar/v3
require
patch
v3.14.5 -> v3.14.6

[!WARNING]
Some dependencies could not be looked up. Check the warning logs for more information.

Release Notes

schollz/progressbar (github.com/schollz/progressbar/v3)
v3.14.6
Compare Source
What's Changed

add support for print text during render progress bar by @unkmonster in https://github.com/schollz/progressbar/pull/191

New Contributors

@unkmonster made their first contribution in https://github.com/schollz/progressbar/pull/191

Full Changelog: https://github.com/schollz/progressbar/compare/v3.14.5...v3.14.6

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Renovate Ignore Notification
Because you closed this PR without merging, Renovate will ignore this update (v3.14.6). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.


add more test function to populateHeaders

Signed-off-by:Lin Yang<EMAIL_ADDRESS>

Please break these different checks into individual test methods. That makes it easier to maintain, test (using phpunit's --filter flag) and to see where things go wrong.

OK I will try to break it in parts and see what happend

"Do or do not. There is no try." ... from a certain Jedi Knight :-/

testPopulateHeadersKeyNotExisit() is misspelled ... should be testPopulateHeadersKeyNotExists() ... oops

Your commits should be GPG-signed.

Is there a reason you're using a new blank line under each line of code?


Remove window.data usage.

I'm unsure if that component $config code is used anywhere else.
Should it default to {} since window.data was removed?

Is moving the backend configured config into the frontend an option? This way we continue to have the same variable attached to the window and we override it for different frontend applications.

has this been tested with an actual not found error? Also will set the support email for the accelerator today as me and @gannan08 were discussing one recently.


Set up Google Maps Integration

Create a service responsible for the Google Maps integration. Could also be a helper.

It ended up taking more time, due to unexpectedly having to study Stimulus to make the integration. It took about a day and a half, so it would be 3 points.


Quickly moving over items causes inconsisten onMouseLeave in Chrome and Firefox

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior

Items should toggle on with onMouseEnter event and off with onMouseLeave event.
Current Behavior

Quickly moving over items can cause them to become 'stuck' on.  It seems like onMouseLeave is inconsistent in Chrome, less often in Firefox.  It doesn't seem to happen in Edge.

Steps to Reproduce (for bugs)

See CodeSandbox, the top row of boxes uses no Material-UI components, the bottom row uses only two different icons.
https://codesandbox.io/s/mz4jv234v8
Context

We're trying to make a 'ranking' component on a table.  Simply dragging your mouse across the several rows of the stars causes this problem.
Your Environment

Tech
Version

Material-UI
1.0.0-beta.38

Material-UI-Icons
1.0.0-beta.36

React
16.2.0

Chrome
64, 65, 66

Firefox
57

Edge
38

This issue isn't related to Material-UI. You can reproduce the same problem with div and span.

https://codesandbox.io/s/14vo5yxqx3
I believe the solution is to keep the two icons mounted. Just toggle the visibility/display.


sklearn.metrics.SCORERS is deprecated

sklearn.metrics.SCORERS is deprecated. To maintain API compatibility with sklearn, mlresearch.metrics must be adapted accordingly

Fixed in 33b3feae99b4717a53b7c40b52f6a01afc1b37fa


feature: Add configuration mechanism

Is your feature request related to a problem? Please describe
There is currently no easy way to provide configuration for Veraison components. Some components do have their own "Config" objects, but no standard mechanism is provided for populating them. A lot of them share some of the fields (e.g. path to plugin binaries), so it would make sense to provide them separately.
If possible, describe a solution
Implement a configuration management component that will allow reading configuration form a standard format file (e.g YAML) and pass the relevant data to the other components.
Describe alternatives you have considered
Consider using https://github.com/spf13/viper
Additional context
N/A

The issue is already addressed in the new veraison/services repository.
Config is passed properly using Viper with a set of common utility functions.


Cranelift: Use a single, shared vector allocation for all ABIArgs

Instead of two (large!!) SmallVecs per SigData.
Unfortunately, I haven't measured any perf benefits from this, but we did shrink the size of SigData from 632 bytes to 56 bytes! It could probably get even smaller still, but I'm going to hold off on that until I get some new DHAT, perf, and cachegrind profiles that show whether SigData is still important to spend time on or not.
Before:
struct cranelift_codegen::machinst::abi::SigData
    size: 632
    members:
        0[296]   args: struct smallvec::SmallVec<[cranelift_codegen::machinst::abi::ABIArg; 6]>
        296[296] rets: struct smallvec::SmallVec<[cranelift_codegen::machinst::abi::ABIArg; 6]>
        592[8]   sized_stack_arg_space: i64
        600[8]   sized_stack_ret_space: i64
        608[16]  stack_ret_arg: struct core::option::Option<usize>
        624[1]   call_conv: enum cranelift_codegen::isa::call_conv::CallConv
        625[7]   <padding>

After:
struct cranelift_codegen::machinst::abi::SigData
    size: 56
    members:
        0[8]   sized_stack_arg_space: i64
        8[8]   sized_stack_ret_space: i64
        16[16] stack_ret_arg: struct core::option::Option<usize>
        32[8]  arg_indices: struct core::ops::range::Range<u32>
        40[8]  ret_indices: struct core::ops::range::Range<u32>
        48[1]  call_conv: enum cranelift_codegen::isa::call_conv::CallConv
        49[7]  <padding>

After a hurried skim: I think a bunch of these changes would be more clear if e.g. SigData::args moved to SigSet, so you could say ctx.sigs().args(self.sig) instead of ctx.sigs()[self.sig].args(ctx.sigs()).

I started experimenting with this and it was a pretty invasive change because a bunch of existing SigData methods use self.args(..) and self.rets(..) but don't have access to their own Sig, so basically all methods of SigData would have to move to SigSet and this just seems like too much ocean boiling for not enough benefit.


Replace custom clean script with rimraf

The rimraf package seems to be solving the exact problem we've solved using the custom clean script. Let's replace the self-baked script with rimraf.

Let me take this


dist should probably be checked in

I notice it's not gitignored, so it should probably be checked in.
Very interested in this project :+1:

Because I haven't generated one yet :)
I had a 20-minute start on this, but so much A-Frame stuff piling up haha.

haha, not judging. just excited to see all the interesting secret projects you cook up :cookie:


ComputationView

ComputationView is a base class for handling Compute models (see https://github.com/datagrok-ai/public/blob/master/help/compute/compute.md)

[x] structured way to represent input and output parameters
[x] generic way to generate UI for inputs, outputs, and interactivity
[x] export and import to Excel and PDF
[x] persisting historical runs
[x] loading of historical runs
[x] routing
[ ] entering the observed results (as opposed to predicted)
[ ] event notifications

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-14790

Initial plan is done. CompView already evolved into RFV and Wizard, so the issue is obsolete


large get requests dont work

push per 100 char

set charset utf 8

make request trough post

i think i fixed it


cannot make a client handshake | cannot extract obfuscated2 frame | read: connection reset by peer

# mtg run -d -b "<IP_ADDRESS>:33333" ******************************************************
{"level":"warn","ts":1611647887.5567229,"msg":"Cannot resolve public address","error":"cannot find public ipv6 address: cannot perform a request: Get \"https://ifconfig.co/ip\": dial tcp6 [2606:4700:****::****:****]:443: connect: network is unreachable"}
{"level":"debug","ts":1611647887.558145,"msg":"Configuration","config":{"adtag":null,"anti_replay_max_size":134217728,"bind":{"IP":"<IP_ADDRESS>","Port":*****,"Zone":""},"cloak_host":"google.com","cloak_port":443,"debug":true,"multiplex_per_connection":50,"ntp_servers":["0.pool.ntp.org","1.pool.ntp.org","2.pool.ntp.org","3.pool.ntp.org"],"prefer_ip":1,"public_ipv4":{"IP":"***.***.***.***","Port":*****,"Zone":""},"public_ipv6":{"IP":"","Port":*****,"Zone":""},"read_buffer":32768,"secret":"f+JoyQ0zGC4hcpM/Vpt/rg==","secret_mode":2,"stats_addr":null,"stats_bind":{"IP":"<IP_ADDRESS>","Port":3129,"Zone":""},"stats_namespace":"mtg","statsd_tags":{},"statsd_tags_format":{"FirstSeparator":",","KeyValueSeparator":61,"OtherSeparator":44,"Placement":0},"verbose":false,"write_buffer":32768}}
{"level":"info","ts":1611647887.5587814,"msg":"Use direct connection to Telegram"}
{
  "ipv4": {
    "tg_url": "tg://proxy?port=*****&secret=ee****************************************************&server=***.***.***.***",
    "tme_url": "https://t.me/proxy?port=*****&secret=ee****************************************************&server=***.***.***.***",
    "tg_qrcode": "https://api.qrserver.com/v1/create-qr-code?data=tg%3A%2F%2Fproxy%3Fport%3D*****%26secret%3Dee****************************************************%26server%3D***.***.***.***&format=svg&qzone=4",
    "tme_qrcode": "https://api.qrserver.com/v1/create-qr-code?data=https%3A%2F%2Ft.me%2Fproxy%3Fport%3D*****%26secret%3Dee****************************************************%26server%3D***.***.***.***&format=svg&qzone=4"
  },
  "ipv6": {
    "tg_url": "tg://proxy?port=*****&secret=ee****************************************************&server=%3Cnil%3E",
    "tme_url": "https://t.me/proxy?port=*****&secret=ee****************************************************&server=%3Cnil%3E",
    "tg_qrcode": "https://api.qrserver.com/v1/create-qr-code?data=tg%3A%2F%2Fproxy%3Fport%3D*****%26secret%3Dee****************************************************%26server%3D%253Cnil%253E&format=svg&qzone=4",
    "tme_qrcode": "https://api.qrserver.com/v1/create-qr-code?data=https%3A%2F%2Ft.me%2Fproxy%3Fport%3D*****%26secret%3Dee****************************************************%26server%3D%253Cnil%253E&format=svg&qzone=4"
  },
  "secret_for_mtproxybot": "********************************"
}
{"level":"debug","ts":1611647910.4550092,"logger":"conn.client","msg":"Read from stream","local_address":{"IP":"***.***.***.***","Port":*****,"Zone":""},"remote_address":"***.***.***.***:49153","connection_id":"****************","bytes":517,"error":null}
{"level":"debug","ts":1611647910.4563286,"logger":"conn.client","msg":"write to stream","local_address":{"IP":"***.***.***.***","Port":*****,"Zone":""},"remote_address":"***.***.***.***:49153","connection_id":"****************","bytes":3539,"error":null}
{"level":"debug","ts":1611647910.4583786,"logger":"conn.client","msg":"Read from stream","local_address":{"IP":"***.***.***.***","Port":*****,"Zone":""},"remote_address":"***.***.***.***:49153","connection_id":"****************","bytes":0,"error":"read tcp ***.***.***.***:*****->***.***.***.***:49153: read: connection reset by peer"}
{"level":"debug","ts":1611647910.4587257,"logger":"conn.client","msg":"Close connection","local_address":{"IP":"***.***.***.***","Port":*****,"Zone":""},"remote_address":"***.***.***.***:49153","connection_id":"****************"}
{"level":"warn","ts":1611647910.4591396,"logger":"proxy","msg":"Cannot perform client handshake","connection_id":"****************","error":"cannot make a client handshake: cannot extract obfuscated2 frame: cannot read record type: read tcp ***.***.***.***:*****->***.***.***.***:49153: read: connection reset by peer"}
{"level":"debug","ts":1611647910.459666,"logger":"conn.client","msg":"Close connection","local_address":{"IP":"***.***.***.***","Port":*****,"Zone":""},"remote_address":"***.***.***.***:49153","connection_id":"****************"}

Hard to say for sure. Seems that something is broken in the client. Can you try with different clients on different OSes?

By compiling from the latest source code of mtg and replacing the server-side binary file, I was able to solve this problem.


cant get it working

i follow the directions on the workshop and it de admins me in game on my server and all i get from the web server is  game script responded with an error: Timeout: Game not responding
will attach log
log.txt

Hello @Dbboli01 ! 👋
Can you provide more info on the de-admin problem?

What were you doing when it occurred?
Can you confirm what your roles are with ?playerRoles
Can you confirm what your permissions are with ?playerPerms
Is this a dedicated server, a multiplayer game started from the main menu, or a singleplayer game?

As for the companion issues:

Have you made sure that the companion is enabled in game with ?setPref companion true?
Were there any errors reporting in the chat?
Are these the instructions you followed for setting up the companion?

Thanks for attaching the logs, it helps a lot!

?setPref companion true
when i tryed that it showed you have no permissions to do this
its dedicated server
no  errors in chat
and yes used the install intructions as well as the ones on the git hub
any admins i had set where auto de admin
id have to work on it later i am currently busy so i cant check ?playerroles or ?playerPerms
any admins that join while its running whould be deauthed and deadmined
then re authed

Make sure you give yourself Admin rights inside %appdata%/Stormworks/server-config.xml
	<admins>
		<id value="76561198054042332"/>
	</admins>

get your steamid here: https://steamid.io/
Then join the game, and write ?setPref companion true into the chat
If that does not work, please also send us the log file of the companion server. It can be found in the same folder the companion server .exe is located.

Without knowing the results of ?playerRoles/?playerPerms, it still sounds to me like you are not an owner.
The very first unique player to join the save is made an owner (this means the very first player, not the first player every time the server starts). This works very nicely for servers started from the main menu, but may not be ideal for dedicated servers.
To override this with v2, we added the ability for server owners to manually specify their steamID, disabling the auto-assigning of an owner. I have updated the README with detailed instructions on how this can be done.

Closing as no further info has been received and the issue could not be reproduced


Lazy load is not triggered when data is filtered

Hello - thanks for the library. I'm having challenges with one specific use case.
We have a header, with an input box, and a content area with a PrimeNG datagrid. The datagrid is wrapped in a DIV with overflow-y set to auto. The input text gets fed to a PipeTransform which does a filter(...) on the datagrid's collection.
Everything works as expected if we have no filter set... scrolling up and down on the DIV (scrollTarget) lazily loads the images. The issue is when we start keying in a filter. The grid filters the list of entries down, and entries that were on the bottom of the list (no image loaded yet) begin to show up, but their image never loads.
I suspect it's because the DIV never actually scrolled, it resized as the items inside it grew and shrank... and eventually it shrank to the point that no scrollbar was needed so the scrollbar disappeared.
Code sample below... thanks!

    <input
      pInputText
      id="txtTtn"
      type="text"
      [(ngModel)]="navigationFilter"
      (keyup.enter)="onEnterKey($event)"
      placeholder="{{'global.typeToNarrow'|translate}}"
      />

      <template let-navigationChildNode>

{{navigationChildNode.name}}

      </template>

but their image never loads

Even if you start scrolling inside the div or is the div so small that you can't scroll?
This is not a easy problem to solve since we never know if the div has been resized. Can you trigger a function call after you have entered your filter criteria?

The div is large enough that it does not require scrolling after filtering. Kind of hard to explain... see if this helps frame it: Imagine a div that allows us to see 20 items at a time. Initial collection loads with 100 items, items 1-20 display and images lazy load, items 21-100 are hidden below the fold/ below the scroll position and images are pending. Key "ta" into filter input, which reduces the 100 item collection to 5 items, but the items were #80, #81, #82, #83, and #84 in the original 100 item collection... therefore they currently have no image. Since the div can display 20 at a time, and there are only 5, the scrollbar disappears and all 5 are displayed.
Re: function... Yes, I could hook into ngModelChange and capture the filter input changing. Can I manually force lazyLoad to re-evaluate for the displayed items?

I see :)

Can I manually force lazyLoad to re-evaluate for the displayed items

Yes but it is not pretty ;)
You can manually trigger a scroll event:
import { Component, Output, EventEmitter, ChangeDetectionStrategy, ElementRef, ViewChild } from '@angular/core';

@Component({
    selector: 'my-comp',
    templateUrl: 'my-view.html'
})
export class MyComponent {
    @ViewChild('graphicalNavigationScroller') graphicalNavigationScroller: ElementRef;

    ngOnChanges(changes) {
       if (filterHasChange) {
         graphicalNavigationScroller.dispatchEvent(new Event('scroll')); // This must however happen after angular has rerender the view
       }
    }
}

Do you understand my example?

Yes - thank you. I was able to get something working by forcing a scroll event... I agree it's not pretty though. =)
Should I close the issue, or leave it open as a feature request (to handle differently in a future version)?

As I stated above; This is not a trivial problem. There is no easy way to detect this kind of changes.
The only solution I can think of is to use a custom scrollObservable:
const forceUpdate = new Subject();
const scrollObservable =
  Observable.merge(
    Observable.fromEvent('scroll', graphicalNavigationScroller),
    forceUpdate
  );

And you can then trigger a force update with: forceUpdate.next().
Another solution is to use intersection observer but that only works in Chrome right now.
I will close this issue for now.

Thanks again for the help (and the library).


Fix safety invariants for WorldQuery::fetch and simplify cloning

Objective
Cloning a WorldQuery type's "fetch" struct was made unsafe in #5593, by adding the unsafe fn clone_fetch to WorldQuery. However, as that method's documentation explains, it is not the right place to put the safety invariant:

While calling this method on its own cannot cause UB it is marked unsafe as the caller must ensure that the returned value is not used in any way that would cause two QueryItem<Self> for the same archetype_index or table_row to be alive at the same time.

You can clone a fetch struct all you want and it will never cause undefined behavior -- in order for something to go wrong, you need to improperly call WorldQuery::fetch with it (which is marked unsafe). Additionally, making it unsafe to clone a fetch struct does not even prevent undefined behavior, since there are other ways to incorrectly use a fetch struct. For example, you could just call fetch more than once for the same entity, which is not currently forbidden by any documented invariants.
Solution
Document a safety invariant on WorldQuery::fetch that requires the caller to not create aliased WorldQueryItems for mutable types. Remove the clone_fetch function, and add the bound Fetch: Clone instead.

Changelog

Removed the associated function WorldQuery::clone_fetch, and added a Clone bound to WorldQuery::Fetch.

Migration Guide
fetch invariants
The function WorldQuery::fetch has had the following safety invariant added:

If this type does not implement ReadOnlyWorldQuery, then the caller must ensure that it is impossible for more than one Self::Item to exist for the same entity at any given time.

This invariant was always required for soundness, but was previously undocumented. If you called this function manually anywhere, you should check to make sure that this invariant is not violated.
Removed clone_fetch
The function WorldQuery::clone_fetch has been removed. The associated type WorldQuery::Fetch now has the bound Clone.
Before:
struct MyFetch<'w> { ... }

unsafe impl WorldQuery for MyQuery {
    ...
    type Fetch<'w> = MyFetch<'w>
    unsafe fn clone_fetch<'w>(fetch: &Self::Fetch<'w>) -> Self::Fetch<'w> {
        MyFetch {
            field1: fetch.field1,
            field2: fetch.field2.clone(),
            ...
        }
    }
}

After:
#[derive(Clone)]
struct MyFetch<'w> { ... }

unsafe impl WorldQuery for MyQuery {
    ...
    type Fetch<'w> = MyFetch<'w>;
}

Moving to 0.12 as we've run out of time and this branch needs fixing. This is good to fix, but its not a pressing issue.

Not sure what the problem was, but it seems to be resolved now.


Best practices for creating modules that reference 3rd party native libraries

I'm working on a custom module that makes use of and exposes the Google Analytics SDK, and got 90% of the way there.  I'm having a lot of trouble resolving the 'RCTBridgeModule.h file not found' error in Xcode when trying to build my app.  The module builds successfully on it's own, but I get this error after installing it with npm/CocoaPods.
I've followed various parts of multiple guides with no luck.  I'm mimicking what is done with the native Facebook implementation where npm is used to distribute the code, and CocoaPods is used to gather the iOS dependencies.
I've tried all sorts of incantations of the HEADER_SEARCH_PATHS but nothing seems to work.  What am I missing?  Are there better guides on accomplishing what I'd like to do?  I may just contribute some docs if I can get it working, and there isn't anything better than what I have found thus far.
Current progress on this project can be found at this repo.

This is a header search path issue.  Retrace your steps.  Is it recursive? Also, put a link to the repo here if possible so one of us can look at it with/for you.

Thanks @jaygarcia.  I tried all sorts of permutations, and I don't think I missed making them recursive.  The repo is at the bottom of the issue.  Thanks!

OK, here's what works for me.
In your library Xcode project:
add a recursive header search path $(SRCROOT)/../react-native/React
see if that helps @chris-erickson.

Still no luck with these settings:

With this error (no surprise):

Were you able to successfully include the project into another project using CocoaPods like this:
pod 'react-native-google-analytics-sdk', :path => '../node_modules/react-native-google-analytics-sdk'

I guess this another thing I get hung up on - would this be used by installing the CocoaPod directly, or by npm install it, then link the CocoaPod as in my example above?

/cc @jaygarcia

So very strange. Any way i could ask you to email me a zip of your project so i can look at it?
<EMAIL_ADDRESS>Thanks

With some help from @jaygarcia I was able to get it working by adding ${PODS_ROOT}/../../node_modules/react-native/React (recursive) to the Pod project header search paths.  This won't survive a pod install As far as I can tell, so it's not a long term solution.
Currently I'm developing this locally so it shows up in the Development Pods group in the Pods project.  Is this any part of the problem?
Starting to think I'm misunderstanding some critical piece to making this work.

I'm starting to think that this is an issue with using CocoaPods this way (it gives the same error as my custom module):
target 'SmartCraft' do
  pod 'RNDeviceInfo', :path => '../node_modules/react-native-device-info'
end

Maybe someone knows that this is a bad way to include the code?  I just don't love the option of manually dragging project files and linking libraries.

Hi there! This issue is being closed because it has been inactive for a while.
But don't worry, it will live on with ProductPains! Check out its new home: https://productpains.com/post/react-native/best-practices-for-creating-modules-that-reference-3rd-party-native-libraries
ProductPains helps the community prioritize the most important issues thanks to its voting feature.
It is easy to use - just login with GitHub.
Also, if this issue is a bug, please consider sending a PR with a fix.
We're a small team and rely on the community for bug fixes of issues that don't affect fb apps.


Task CO Filter - Pasting Matching Identifiers; results not in order of paste

Feature or enhancement
When I paste a number of Matching Identifiers in the CO filter in a specific order, I would expect the results to be in the same order. This would be very helpful to our workflow especially since the identifier order will most likely match physical specimen order in unit trays.
Location
Task-CO Filter
Screenshot, napkin sketch of interface, or conceptual description
List of identifiers in order expected:

Results not in identifier paste order:

Your role
No response

Understood, but we will have to think about this, it's quite hard to do with all other parameters potentially interacting.  @jlpereira we might have to make it a client side option.


[sentry-native] Add missing CMakeFindDependencyMacro for find_dependency

The PR provides missing CMakeFindDependencyMacro for find_dependency macro.

What does your PR fix?
Fixes #20591

Which triplets are supported/not supported? Have you updated the CI baseline?
as before, No

Does your PR follow the maintainer guide?

Yes

Make two commits:

One commit changes only the contents of ports/
The last commit updates versions/.

Make two commits:

One commit changes only the contents of ports/
The last commit updates versions/.

@dg0yt Done!

Almost right. In versions, there will be a reference to the git tree object which contains the already committed changes. That's why it takes a separate commit. Now here, the gittree no longer matches the last changes. To resolve this, do this (in the clean working directory):
./vcpkg x-add-version --overwrite-version sentry-native
git commit -a --amend
git push -f


YggTorrent updates

YggTorrent adress has changed: https://www.ygg.re/ and the site structure has changed too. The site is now only accessible to members, and I assume the login process is different.
Thanks

@Gregsr this probably will be fixed by #434 although, i can't really test it because of cloudflare anti-bot protection.
if you do not get cloudflare anti-bot protection then you can make local changes from PR to see if they work.

I made the changes and I have this error (my credentials are ok):
T:13232 critical : [script.elementum.burst] [yggtorrent] Login failed: 403

@Gregsr you need to enable debug log in kodi to see real root cause, see https://elementum.surge.sh/contribute/log/ as guide (you only need kodi part for this issue).
in my case i have
critical <general>: [script.elementum.burst] [yggtorrent] Login failed: 403
debug <general>: [script.elementum.burst] [yggtorrent] Failed login content: '<!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title>...more HTML page content...

which is cloud flare anti-bot page.

@antonsoroko here is the log file https://pastecode.io/s/5o2by9ak
I notice that the search is still being conducted before logging in. Is this logical since it is now necessary to be logged in to see the results?

@Gregsr see line 3951 - you also get cloudflare page.
the solution was to use cookies from browser, see https://github.com/elgatito/script.elementum.burst/issues/414 , but in recent versions of chrome that extension to sync cookies stopped working (either chrome or github changed something).
another solution is to install Jacket server and use https://github.com/fugkco/script.elementum.jackett
if you really need ygg - then Jacket probably will work for you, iirc Jacket uses "browser emulation" to bypass cloudflare, but it is a separate application that you should install somewhere and keep it running.

I notice that the search is still being conducted before logging in.

where you see it? i guess in UI - this just means that search process was started.
see the log starting from line 3913 - burst does login, fails, stops - search was not conducted.
but login is a part of search process and done before search, every time (if you already have cookies - burst use cookies, but burst still does login to see if you have cookies).
thus in kodi UI you anyway will see that search is started - maybe that confused you.
so it is logical. otherwise it would be super hard to do all checks (if you have login/pass set, if those login works, if site wotks, etc) in advance and only then show you that search was started.

@antonsoroko thanks for the explanations and solutions. I will try it on Windows 10 and Google TV.

@Gregsr actually SyncMyCookie works with latest google chrome (i use opera and opera has some issue with this extension), so you can try it - read https://github.com/elgatito/script.elementum.burst/issues/414
note that you need to catch "cloudflare anti-bot page" first, and then you can push cookies.
then you can start elementum and check if  .kodi/temp/burst/common_cookies.jar  was updated with cf_clearance cookie for ygg domain.
if not then it might be a bug of that chrome extension (nothing we can do), but you can add this cf_clearance cookie manually (you can take it from dev panel in your browser).
if it is too complicated - then try Jacket.

@antonsoroko I tested with SyncMyCookie. It seems that login is ok (I'm not a specialist) but I receive 0 result.
Here is the log file https://pastecode.io/s/j0rf2hho

@Gregsr can you please enable "Log debug messages for parsing" in burst advanced settings, and create log again. Then disable that setting.

@antonsoroko here is https://pastecode.io/s/dt7rgt2s

@Gregsr right now you have some other error
<general>: [script.elementum.burst] b'https://www.ygg.re/auth/process_login' failed with ConnectionError(ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))):
Looks like ygg was unreachable at that moment. (Or your internet provider blocked connection to ygg.)
Need a new log file with "Log debug messages for parsing".

@antonsoroko the parameter "login_path": "/auth/process_login" in providers.json seems to be not the good adress (via Chrome, it is a blank page). I have changed it by "login_path": "/auth/login" (via Chrome, I get to the login page) and I have got this message in the log file but 0 result.
<general>: [script.elementum.burst] [yggtorrent] Login successful
Here is the log file https://pastecode.io/s/hnm97j77

@Gregsr it is not about page, but about POST request, use dev panel in browser to see how it works and read some explanation about post and get in internet, if you are unfamiliar with web requests.
Anyway, as you can see in the log, right now you get login page instead of result page, which means that Login didn't work.
You saw "Login successful" probably because they changed "error message", so our check for error is incorrect.
Please change back login_path and make log with debug parsing, like I requested above. So we can see if you get cloudflare or something else.
Unfortunately, ygg always blocks me (probably because I'm not in France), so I can't test it.

@antonsoroko here is https://pastecode.io/s/0sz2jkg4
Thanks for your help

@Gregsr hm, I still see html content of login page instead of results page.
Have you pushed cookies in chrome extension after login? Maybe they expired, please push cookies again.
Also try without cookie sync (delete cookie for ygg in chrome extension).

@antonsoroko I deleted cookies in chrome extension and I have got results... (see log file https://pastecode.io/s/vkdwjtmk)
At the moment, I don't have the cloudflare page to push cookies before login (I tried after having deleted all my cookies from Chrome too)

Set useragent setting in Burst to be the same as the browser that uses cookie sync.

@Gregsr if you have results then it means that changes that I made works.
I am not sure if cookies sync works for ygg correctly, when you will have problem with cloudflare again - try to do cookie sync again.

@Gregsr @antonsoroko is there anything to fix/change? Or we can close this issue?

@elgatito it works for me with cookie sync. without - cloudflare page.
and for user - in log i see yggtorrent would send 39 torrents to Elementum.
so in the end - it works.

It depends, and I use SyncMyCookie. Indeed, if it has to go through the Cloudflare page, it doesn’t work; otherwise, it works. I have the impression that when it works, my IP was previously recognized via Chrome on Windows by going through the Cloudflare page. At that point, I can use Kodi for a few hours or days.
I noticed in the file .kodi/temp/burst/common_cookies.jar that the Cloudflare cookies were not syncing, whereas the others were.

@Gregsr

It depends, and I use SyncMyCookie. Indeed, if it has to go through the Cloudflare page, it doesn’t work; otherwise, it works.

It is the opposite. We sync cookies from the browser to pretend that we were already passing cloudflare protection pages (your browser was doing that). But of course, there are other possible checks. Cloudflare can even detect if you were accessing pages using different OS of the device, also the simplier UserAgent check that would be different with every Chrome update.
That is annoying, but probably only the periodic cookies update can help with it.

It seems to me that it was the same user agent when I tried some time ago, but I will try again and keep you updated.

Currently, it works. However, SyncMyCookie only synchronizes 3 out of 4 cookies. The cookie related to Cloudflare is not synchronizing, as can be seen in the screenshots. Is it the issue?
common_cookies.jar file

Cookies in Chrome for ygg.re

SyncMyCookie

I have the same issue for ygg and some  other trackers (so I had to manually add cf_clearance cookie into file).
But this is SyncMyCookie chrome extension issue. And it's repository looks abandoned. https://github.com/Andiedie/sync-my-cookie
And looks like soon chrome will disable it, since it was not updated to their new standards.
I do not know what we can do here.
Only if someone will fork and update this extension and also fix issue with missing cookie.


[SMALLFIX] Documentation for under storage extensions

@aaudiber @apc999

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16581/
Test PASSed.

@apc999 @aaudiber Please take another look. Thanks!

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16629/
Test PASSed.

Merged build finished. Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16630/
Test PASSed.

@madanadit are you able to build the docs from this PR? I get errors when I try. It might be necessary to merge master to get the fixes

@aaudiber Thanks!. Merged w/ master to fix it.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16640/
Test PASSed.

@madanadit Please retarget this for branch-1.6