SPIKE: Solidify approach to DNS, TLS termination, ALB use ,etc. within LZ

Describe the issue
This is a manual process which could overwhelm Cloud Ops.  It's a bit of an unknown how we handle the firewalls.  There was work done on the demo app which will feed into the design of an automated approach.
Which Sprint Priority is this issue related to?
Priority 2
Additional context

no gitops process around the Project Spec currently (could solve via wildcards)
Ryan J has work in flight around automating the firewalls
Include plan for domains/urls of core platform services such as the AWS login app.

Definition of done

discuss with Ryan J
Plan and diagram how the automation could work (not necessarily automate everything right away)

Firewalls
FortiGate Firewalls are currently in place; however, Check Point Firewalls are being evaluated for a potential switch

ForitGate

There is a Terraform provider for FortiOS (FortiGate Firewall resources)

Checkpoint

There is a Terraform provider for Check Point

Firewalls
FortiGate Firewalls are currently in place; however, Check Point Firewalls are being evaluated for a potential switch

ForitGate

There is a Terraform provider for FortiOS (FortiGate Firewall resources)

Checkpoint

There is a Terraform provider for Check Point

Ryan J has finished his prototype and is ready to demo.

Ryan J has finished his prototype and is ready to demo.

Networking
Proposed Terraform Approach
Routing

Subdomains of *.{{identifier}}-{{environment}}.nimbus.cloud.gov.bc.ca
Specified by list of objects in accounts.network.routes, in project.json

public_subdomain is routed to the specified alb_name
all unspecified subdomains are routed to the default alb
if default alb does not exist no routes are created for unspecified routes

future: custom domains

DNS

AWS SEA bootstrap terraform module

Create and manage base hosted zone nimbus.cloud.gov.bc.ca

Project layer terraform module

Create and manage account records

wildcard e.g. *.{{identifier}}-{{environment}}.nimbus.cloud.gov.bc.ca

defined by project license plate and environments

future: custom e.g. myapp.gov.bc.ca

defined in project.json

TLS (AWS Certificate Manager)

Create wildcard cert for *.{{identifier}}-{{environment}}.nimbus.cloud.gov.bc.ca

Perimeter ALB (Public)

Creation of public facing ALBs is managed by SEA code
Project layer terraform module

Create target groups
Create listener rule

forwards to firewall

Add TLS

wildcard cert
future: custom cert defined in project.json

Firewall
FortGate

Project layer terraform module

Create FQDN Address

target is internal load balancer in an AWS team account
config is defined in project.json

public dns that routes to internal alb

Create Virtual IP (port forwarding, similar to a vhost) linked to FQDN Address

This provides the ip/port for the ALB target group
The challenge here will be selecting an unused port on the firewall

Links

Terraform - FortiOS Provider

Check Point
TDB
Links

Terraform - Check Point Provider

Project Spec
The project spec is defined using a project.json file.
Proposed schema for the network configuration (see network object in the accounts list):
{
  "identifier": "a1bc23",
  "name": "Example Project Spec",
  "accounts": [
    {
      "name": "Development",
      "environment": "dev",
      "alb": [
        {
          "name": "default"
        },
        {
          "name": "alb-for-service-0"
        }
      ],
      "network": {
        "routes": [
          {
            "public_subdomain": "service-0",
            "alb_name": "alb-for-service-0"
          },
          {
            "public_subdomain": "service-1",
            "alb_name": "created-by-tenant"
          }
        ]
      },
      "extra_tfc_workspaces": ["service-1"]
    },
    {
      "name": "Test",
      "environment": "test",
      "alb": [
        {
          "name": "default"
        }
      ],
      "network": {}
    },
    {
      "name": "Production",
      "environment": "prod",
      "alb": [
        {
          "name": "default"
        }
      ],
      "network": {}
    },
    {
      "name": "Tools",
      "environment": "sandbox",
      "alb": [],
      "network": {}
    },
    {
      "name": "Unclassified",
      "environment": "unclass",
      "alb": [],
      "network": {}
    }
  ]
}

Ryan Jaeger's Approach
Architecture

Typescript state machine using DynamoDB to store state

Implemented using AWS Step Functions and Lambdas
Perimeter ALB

Create target group
Create listener rule

Firewalls

Create Address (internal FQDN)
Create Virtual IP (target of ALB mapped to the address above)

Selects unused ports on the firewalls

REST API

Inputs:

Public ALB in Perimeter network to use (Prod or DevTest)
Public domain to be routed
Target internal FQDN

Limited to only accept requests from inside the VPC

Doesn't handle TLS or DNS but could be extended to do so

How we could use this from Terraform

Use the terraform http provider

The REST API needs to allow connections from the server that runs terraform.

Using GitHub actions could be a challenge unless we use a runner inside the VPC.

Or we would have to allow global access and implement authentication. This is not recommended.


Update botsnack.coffee

I know this repo is deprecated, but this is a small and subtle thing that becomes the first line in the response to hubot help.

This updated suggests that you have to prefix the command with hubot, which isn't the case here since it's a hear.

Oh, well that also explains why hubot keeps stealing my botsnacks!
I guess that and the loose regex.
Apologies!


Support TeleportCause for function "teleportAsync"

I have changed the method:
public CompletableFuture<Boolean> teleportAsync(Player player, Location location)
Now, it is:
public CompletableFuture<Boolean> teleportAsync(Entity entity, Location location, PlayerTeleportEvent.TeleportCause cause)
Why?
Because Player.teleport() is actually Entity.teleport()
And There is a argment named PlayerTeleportEvent.TeleportCause
Another Change
This part of code seems meaningless.
this.runAtEntity(player, (task) -> {
    if (player.isValid() && player.isOnline()) {
        player.teleport(location);
        future.complete(true);
    } else {
        future.complete(false);
    }
});

And it can be replaced with:
this.runAtEntity(entity, (task) -> future.complete(entity.teleport(location, cause)));

So I did it.
Hope to adopt, thank you, it's really useful and helpful to me

Thank you for reminding me
I have made some changes and tried to comply with your request, please check.
And if you don't like merging two (clumsiness) commits, you can use the patch, it's no problem.
Support_TeleportCause_for_function__teleportAsync__(Fixed).patch

It seems there is a replacement.


merge package template from Kronos-Tools/npm-package-template

package.json

chore(scripts): update semantic-release@semantic-release from template
chore(devDependencies): update<EMAIL_ADDRESS>from template

Coverage remained the same at 78.327% when pulling 03d06e1894c576d4a2f7115d4c566bc8bbae9774 on template-sync-1 into 93dd5ebbf0e58a744fe46d3f7411b19f5a05127f on master.

Codecov Report

Merging #208 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #208   +/-   ##
=======================================
  Coverage   83.92%   83.92%
=======================================
  Files           1        1
  Lines         168      168
=======================================
  Hits          141      141
  Misses         27       27

Continue to review full report at Codecov.

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


Error when starting with the plugin for the first time

Good day, I downloaded the plugin and ran it, noticing the error that pointed to this issue report.
I updated my java version, only to find it doing the same thing.
Here is a snippet of my log (the very first lines) containing java information:
java -Xms10G -Xmx10G -jar paper165.jar nogui System Info: Java 11 (Java HotSpot(TM) 64-Bit Server VM 11.0.10+8-LTS-162) Host: Windows 10 10.0 (amd64)
As you can see later in the log I am running the 124th BETA build on the latest 1.16.5 paper.
Full log: https://pastebin.com/y5mD7BtW
This is on a fresh 1.16.5 paper server (which I created after I ran it on a server with a bunch of other plugins to make sure it wasn't some kind of incompatibility).
Let me know if there's more information you need. I'd love to be able to use this software!
Requested to be moved from issue 4

i was waiting this post to get a response from the owners but it seems like this post is never going to get a response.
go to this page: https://www.openlogic.com/openjdk-downloads
in java sections select java 11 and download the openjdk 11,0,9,1+1
for me it worked, good luck.


STA-3353 update libraries and documentation

Hi Reinhard, thanks for providing the pull request, looks good in general. However, besides that we recommend to use environment variables, it still should work with default.properties. There is a fallback chain described in the default.properties and for me it sounds like that this is not working anymore. Can you please check that as well and either fix the chain or remove the related descriptions in the properties files.
Thanks, Andreas

Hi Andreas, I verified the configuration in default.properties and overriding in system properties, environment and test.properties. The documentation is still correct.
Thanks, Reinhard

@reinhard-maier Am asking as in the issue description it is said that it is not working with providing the credentials to the properties: https://github.com/SAP/yaas_java_jersey_wishlist/issues/23
Furthermore please consider the feedback from @williamkeyes

@a-thaler now, the documentation should be clear enough to avoid using a manifest with invalid environment entries. Thereby, the issue should be solved.


Changing Red dots to Orange in maps for hotspot offline for less then 10000 blocks

It would be beneficial to show hotspot that are offline for smaller period of time in a different color on map.
May be an orange dots for offline for 1 week (approx. 10000 blocks). That can guide users to make a decision around hotspot placement. Hotspot owners don't want to be surrounded by bunch of red ones but orange ones may be temporary so that could help in decision making.
Also, some hotspot are dead and will never come online. Is it possible to not shot them at all on map?

note to self, and/or whoever takes on this issue, but I think the colour could be #FCC945 to match other parts of the Explorer and app. but it might be confusing to reuse the colour that is sometimes used for witnesses...

I might give this a go today / tomorrow

If #FCC945 is also used for witnesses, maybe #FCAA45 might be better?

@Astrochamp yeah good call, we can try a few different ones and see what feels right :)  could also try this one: #EB9C53 which I found in the Figma files


dateTimeFormat

Hello here,
Is it possible to use  tag to host the date translation?
If so, how does it work ?
because I tried in my project, and $d doestn't seems to find my variables defintions.
Regards,
Antoine

Hi, @TwanoO67
Could you give us the reproduction code or repo, please?

Hi,
I'm sorry but 2 years later I don't remember about the related project ^^

OK. I'll close this issue for now.
Feel free to reopen if you encountered this again.


Use a version range for IceRPC references in project templates

The project templates currently use an exact version match for the IceRPC packages, as seen here:
https://github.com/icerpc/icerpc-csharp/blob/9c21a5dd1625e2689cba957d226d9563710857ce/src/IceRpc.Templates/Templates/IceRpc-Protobuf-Client/IceRpc-Protobuf-Client.csproj#L15
It would be better to use a version range like "0.4.*".
However, one challenge is that we want to test these templates with CI. When using a version range, simply pushing the packages to the local global-packages folder is not sufficient. NuGet resolves the version by contacting the configured sources and checking which versions are published that match the range. Versions in the local global-packages folder are not considered during version resolution.
For the examples we use a local MSBuild variable $(IceRpcVersion), using an exact match seems more practical for the examples.

We use a version range on release branches "0.4.x" branch has "0.4.*", for main we use an exact version typically a preview like ("0.5.0-preview1")
We do the same for the examples, examples are configured to build agains IceRpcVersion defined in build/IceRpc.Examples.props
This means that release branches test templates and examples against the latest published version that matches the range expression. The main branch tests against the packages build from CI.

Current setup seems correct:

0.4.x branch templates are build against 0.4.* packages, will use the latest 0.4 published version.
main branch templates use a exact match for the corresponding preview, currently 0.5.0-preview1


Cannot dlopen some GPU libraries [can't find cuda driver] in rhel9

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
No
Source
binary
TensorFlow version
v2.17.0-rc1-2-gad6d8cc177d 2.17.0
Custom code
Yes
OS platform and distribution
Redhat enterprise 9.4 base image
Mobile device
No response
Python version
3.11
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
12.2
GPU model and memory
Tesla T4, 15360MiB
Current behavior?
What is your question?
Describe the bug
Error when I run GPU test, wondering if my docker linux kernel version is too low? The reason I am asking is that, my ubuntu22 is working fine.
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
I0000 00:00:1723846435.253301 203 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
2024-08-16 22:13:55.253747: W tensorflow/core/common_runtime/gpu/gpu_device.cc:2343] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
"
My Kernel version,
bash-5.1# uname -a
Linux mlops-test-failed 5.10.220-209.869.amzn2.x86_64 https://github.com/rapidsai/cudf/issues/1 SMP Wed Jul 17 15:10:20 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
My OS/Docker image distro,
"
bash-5.1# uname -m && cat /etc/*release
x86_64
NAME="Red Hat Enterprise Linux"
VERSION="9.4 (Plow)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="9.4"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Red Hat Enterprise Linux 9.4 (Plow)"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:redhat:enterprise_linux:9::baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 9"
REDHAT_BUGZILLA_PRODUCT_VERSION=9.4
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.4"
Red Hat Enterprise Linux release 9.4 (Plow)
Red Hat Enterprise Linux release 9.4 (Plow)
"
Both my ubuntu 22 and rhel9 were showing the nvidia-smi ok like the following.
bash-5.1# nvidia-smi
Fri Aug 16 22:29:43 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.06 Driver Version: 535.183.06 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 Tesla T4 On | 00000000:00:1E.0 Off | 0 |
| N/A 33C P8 11W / 70W | 0MiB / 15360MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| No running processes found |
+---------------------------------------------------------------------------------------+
I am checking the following url,
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
and it says the rhel9 kernel version has to be 5.14.0-427.
Your input is appreciated!
Standalone code to reproduce the issue
def run_gpu_test():
    gpus = tf.config.list_logical_devices('GPU')
    print("Num GPUs Available: ", len(gpus))

run_gpu_test()

In Ubuntu22, it prints gpu number 1 with all the gpu information and in rhel9 it does not.

This is a Pod we created in eks, and by exec to the pod, we pasted the debugging information in the above section. I did nvidia-smi and both ubuntu22 and rhel9 shows GPU fine. Ubuntu22 works fine but not rhel9. The node we created is a AWS G4 instance, so it has tensorflow 12.7 and cuda 12.2 and we installed nvidia-plugin. I think this should be very easy to reproduce not sure if the aws kernel version matters.

Relevant log output
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
I0000 00:00:1723846435.253301 203 cuda_executor.cc:1015] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
2024-08-16 22:13:55.253747: W tensorflow/core/common_runtime/gpu/gpu_device.cc:2343] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
"

@kevinli-webbertech,
Could you please let us know if you are facing the same issue with ubuntu environment as well? I tried to install in ubuntu environment where the GPU was detected. Also please provide the steps followed. Thank you!

@tilakrayal , I tried docker io's ubuntu22 with just pip install of tensorflow[with-cuda], and GPU test runs fine.
Note this issue is only seen in rhel9. This is EKS node with AWS G4 instance + Nvidia plugin + ehel9 pod container set up (simple pip install of tensorflow[with-cuda]), nvidia-smi can see the nvidia GPU so that driver is ok, and from the fact that ubuntu22 is working, we can see the cuda is 12.2 which is funneled  through the aws G4 instance, we did not overwrite the cuda driver installation by installing the RPM.
And we did have an attempt to install the cuda RPM so we got /usr/loca/cuda, and we had most of the .so files soft links created and put in LD_LIBRARY_PATH and did a ldconfig and it did not work either. The problem of the error is too vague so I do not know what SO files can not be opened. I have found the c++ code in tensorflow which issues this error but I haven't got time to compile and debug.
Please let me know your thoughts. Thanks!

@tilakrayal, we got it working. So the problem that worth mentioning here is that, the image was fine with the [tensorflow-with cuda ] installation in rhel9 but some SO missing and we eventually figured out what that is.
The following is what I found,
1/ the ubuntu22 installed the above packages and work right off the box. GPU tests passed.
2/ In rhel9 we had to do the following. And the cuda/lib64 we mounted in yaml from hostPath of AWS G4 instance and create in our eks pod. But we just learned that nvidia/cudnn/lib/ is also needed. Without that it is not working. I am thinking that might be reason why rhel9 is not working right off the box like ubuntu22. If you happen to get a redhat equivalent image, make sure you can test it with simple installation. Or make sure document this library path somewhere.
apiVersion: v1
kind: Pod
metadata:
  name: your-test
  namespace: your_name_space
spec:
  nodeName: gpu-node
  restartPolicy: Never
  containers:
  - name: mlops
    image: "your_rhel9_image"
    volumeMounts:
    - name: cuda-libs
      mountPath: /usr/local/cuda
    resources:
      limits:
        nvidia.com/gpu: 1
    command: ["sleep", "infinity"]
  volumes:
  - name: cuda-libs
    hostPath:
      path: /usr/local/cuda

export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:/usr/local/lib/python3.11/site-packages/nvidia/cudnn/lib/
ldconfig

3/ during the course we eyeballed a lot of screens side by side with ubuntu22 and rhel9 using strace on python3 test-gpu.py process and was trying to see what is loaded and open and what not.
4/ The solution that we used is that the /usr/local/cuda is mounted from hosting node from G4 instance while ubuntu22 does not need to do that. So the so shared lib of cuda must be in somewhere already from the pip installation. I still need to find that out.
What make me less worried is it is not about linux kernel versions.


Error: Authentication failed: Difference in timestamp

I am running atomic-server using docker. I created the user, but soon after, I get the following message:
Authentication failed: Commit CreatedAt timestamp must lie in the past. Check your clock. Timestamp now:<PHONE_NUMBER>628 CreatedAt is:<PHONE_NUMBER>587
What should I do?

Apparently there's a significant mismatch between your client and server clock. These should be in sync.
Maybe I should disable this check by default, as adjusting a server clock might be a tad too much work in some situations.

Have you tried adjusting the clock, making sure they are in sync?

Yes, I run timedatectl and it looked ok:
$ timedatectl                                                                                │                Local time: Fri 2023-12-15 18:58:42 CST                                                                               │            Universal time: Sat 2023-12-16 00:58:42 UTC                                                                               │                  RTC time: n/a                                                                                │                 Time zone: America/Chicago (CST, -0600)                                                                              │ System clock synchronized: yes                                                                                │               NTP service: inactive                                                                                │           RTC in local TZ: no
When I run in Virtualbox as localhost no problem, the problem is in a server, using reverse proxy.
In both cases I am using docker

Thanks for sharing. I'm not quite sure as to what could be causing the difference in the two times than. Maybe the client is a couple of hours ahead?

Maybe the client is a couple of hours ahead?

Yeah, 3 hours ahead, to be exact


fix: Future.{value,error} are named constructors, not statics

LGTM.

@ochafik FYI we sent you an invite to become a member of ts2dart, so that you can merge this commit yourself. Welcome on board :-)

Thanks Martin!


Inheritance of SNI SSL_CTX's behavior to SSL object

I am using openssl-1.1.1d.
I have a default SSL_CTX and a SNI SSL_CTX.
For both the SSL_CTX I am setting different "ecdh_curve_name" and "ciphersuites" using SSL_CTX_set1_groups_list() and SSL_CTX_set_ciphersuites(). I am also setting client_hello_cb on the default SSL_CTX using SSL_CTX_set_client_hello_cb().
Then i create SSL connection object using the default SSL_CTX. When i get the client_hello_cb for the SSL connection when the request comes with a servername, i change SSL to use the SNI SSL_CTX by setting SSL_set_SSL_CTX().
Now i expect the SSL object to have SNI SSL_CTX's setting of "ecdh_curve_name" and "ciphersuites". However i see only the "ciphersuites" to have taken effect but not the "ecdh_curve_name". I had to set it explicitly using SSL_set1_groups_list. Is this correct behavior? Can someone explain why this is needed and how to decide whether it has to be explicitly set for SSL object?
I am also interested in knowing for - ciphers, ssl/tls version and alpn

This is something that is unfortunately not very uniform across the different configuration settings.  Basically, for some of the settings, the configuration is copied from the SSL_CTX to the SSL during SSL_new(), and so the configuration on the SNI SSL_CTX will not take effect (unless there is specific logic in SSL_set_SSL_CTX() to adjust to that case, but this is only done for the sid_ctx).  This is what happens for the supported groups list, at https://github.com/openssl/openssl/blob/47b422c90aec6e3d1de38110d67e17133d086051/ssl/ssl_lib.c#L782-L790
So it is necessary to inspect the implementation of both SSL_new() and SSL_set_SSL_CTX() (an unfortunate abstraction barrier violation!) in order to answer what will happen for the ciphers, TLS versions, and ALPN settings.
As it happens, the version and ALPN are copied just like the supported groups (so you will need to set them on the SSL directly when you change to the SNI SSL_CTX) but the ciphers are not (so they should be inherited from the SNI SSL_CTX, unless specifically set on the SSL in question at some other point).

Thanks for your reply.


Unable to perform concurrent updates to security rules via ARM

Please have a look at the issue specified @ https://github.com/Azure/azure-powershell/issues/1817

worked fine for the current settings we have applied. will patch once the open ticket above is updated. or am I missing something here?

I see that we can address this by moving the NSG rule creation to powershell or either move add depends on to every NSG rule, which means that whole script will take more time by running in synchronously. I have not tried it myself but happy to give it a go


[BUG] crash on startup

Description:
crash on startup
Steps to Reproduce:

Steps to reproduce this behaviour

Technical Information:

Minecraft: 1.17
Fabric API: 0.11.5
Industrial Revolution: Industrial Revolution 1.10.0-alpha.1
Modpack: mine

Logs:
https://gist.github.com/TheNimbleNinja/b83c441734457af34a92494dee0ff131
Details:
Extra information that might be helpful like screenshots or technical information about your computer.

That crash doesn't seem to have nothing to do with Industrial Revolution, report to VoxelMap.


ExpressionBuilder - UpdateItem builds tooltips for all expressions every time

Every time a new expression  is selected in the list , a large number of items (20-ish) are processed with the updateItem method ... very inefficient. (line 2410)

Actually this fixes that problem but creates an other. The method updateItem seems to have a very mysterious way of working...

can you put in a check for the selected item to do tooltip only for it?
On Mon, Jun 4, 2018 at 1:38 PM, Maël Gaonach<EMAIL_ADDRESS>wrote:

Actually this fixes that problem but creates an other. The method
updateItem seems to have a very mysterious way of working...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CIRDLES/Squid/issues/102#issuecomment-394437590, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABCtYxU8M0VRfGyiXswR2Axk5BjkerENks5t5XCNgaJpZM4UYJbJ
.


Fix typo and disable PR validation in pipeline.

Fix typo in the manifest file names. Furthermore, disable PR trigger.

[skip ci]


Validation placeholders in Controller not replaced

This pull request should fix issues #2812 and #2817.
Description
Duplicated the fillPlaceholders() function from Model.php to Controller.php. Called the function before the validator runs.
Checklist:
Minor change only

seems requires 2 things:

cs check - fix, you can enable cs by run:

./admin/setup.sh

and try do some changes in the file, and commit. First commit should fail as it act to fix the cs. Retry commit will apply the commit.

New tests if possible.

also, I think placeholder replacement check rules should not in controller as validation may be in model.

This is not universal a solve!
This fix will be work ONLY with data from REQUEST (GET or POST). What about if I want to check data from array in my Controllers's method?
$arr['id'] = $this->request->getVar('id');
$arr['login'] = $this->request->getVar('login');

if ($this->validation->run($arr, 'myRuleSet') ) {
.....

In my app\Config\Validation.php:
public $myRuleSet = [
		'login' => "is_unique[admins.login,id,{id}]",
	];

For is_unique placeholder {id} will never be recognized!

can be closed in favor of https://github.com/codeigniter4/CodeIgniter4/pull/2897


Paginate evaluations

Currently all evaluations are pulled into the sidebar. We'll need to paginate this. It would be cool to virtualize the large list and have that work in tandem with the pagination. The evaluation buttons are all the same size, so getting a count of all evaluations to buffer the scroll area should be doable.

Closed by #128


[TRIVIAL] Be more liberal about index comparison on batch query add

Fixes #117

Coverage remained the same at 100.0% when pulling df789cdab6c65b8e3e008af09042fa81e6284ca5 on yuce:batchquery-index-comparison into 471abff1b7ea541765dbec8e2bb027f639b9cb4d on pilosa:master.


Uninitialized memory in TerminalNetwork.logTransferCosts()

Issue summary
Description of issue:
It seems some of the statistics memory hasn't been initialized correctly
Steps to reproduce:
With a fully autonomous not touched Overmind on private server, this error starts showing up when there are two RCL6 rooms with terminals (don't think it appears with only one terminal)
Error message:

// Console output:
[7:36:27 PM]DEBUG   364694 Equalizing Z within terminal network
[7:36:27 PM]TypeError: Cannot read property 'W7N4' of undefined
    at TerminalNetwork.logTransferCosts (main:19661:40)
    at TerminalNetwork.logTransfer (main:19658:14)
    at TerminalNetwork.transfer (main:19709:18)
    at TerminalNetwork.equalize (main:19845:28)
    at TerminalNetwork.equalizeCycle (main:19859:14)
    at TerminalNetwork.run (main:19937:18)
    at (anonymous function) (main:20093:5060)
    at _Overmind.try (main:20093:499)
    at _Overmind.run (main:20093:5017)

Other information:

Overmind version: 0.5.0

Commit hash: {optional, but helpful: include the commit hash (if known)}

Thanks for pointing this out; this was fixed in the most recent commit.


Add code coverage from unit tests

Seems like it's supported:
https://github.com/rust-lang/rust/issues/34701#issuecomment-753125299
Possible integration:
https://github.com/marketplace/actions/rust-grcov

https://github.com/xd009642/tarpaulin#github-actions


Publish

Will this library ever be published to npm?

We will gradually do it but not on our priority list at the moment, at least not until a few weeks.
For the moment, you can run:
yarn add cktap-protocol-react-native@git+https://github.com/bithyve/cktap-protocol-react-native.git#main
to install the package.

We will gradually do it but not on our priority list at the moment, at least not until a few weeks. For the moment, you can run:
yarn add cktap-protocol-react-native@git+https://github.com/bithyve/cktap-protocol-react-native.git#main
to install the package.

Thank you! Adding this to the README would be a huge help.
Anywho, thank you for your work on this package!


copy-webpack-plugin plugin config error

[webpack-cli] Failed to load '/home/ellie/cosmos-rust-wallet/examples/browser/webpack.config.js' config
[webpack-cli] Invalid options object. Copy Plugin has been initialized using an options object that does not match the API schema.

options[0] should be an object:
object { patterns, options? }
seems to be a new schema change here are the relevant links to the issues and possible solutions I don't know that much js so I can't fix this
https://stackoverflow.com/a/62680933
https://webpack.js.org/plugins/copy-webpack-plugin/#options-1

This issue is occurring only on your fork, see the comment on PR #79 on how to fix it.


API Authentication Changed

Now direct POST to original signin API will result in a HTTP 302, which will redirect users to another authentication page provided by wechat.
See if there's solution to this.
Detailed HTTP header attached below:
HTTP/1.1 302 Found
Server: nginx
Date: <>
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/7.0.25
Location: https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxa153455f3ef1d9f9&redirect_uri=https://v18.teachermate.cn/api/v1/wechat/re-auth?m=s_signin&response_type=code&scope=snsapi_base&state=#wechat_redirect

And YES i am using the NEWEST version of this repo.

我室友也gg了。working

In #2 , I used the origin openid for re-sign checking, and it works now.

Tested the newest version this morning.
Still not working.

@klx3300 Test again, and it works now.
What's your state this morning?

@qzwlecr To make things clear:
What's the EXPECTED command line output of the script when there's NO sign-in opening?

like this

Then it's broken. Confirmed.
Lichen Zhang<EMAIL_ADDRESS>于 2019年6月1日周六 03:39写道：

[image: image]
https://user-images.githubusercontent.com/23014427/58730465-d2adc680-841e-11e9-811e-b2ee5e40e36a.png
like this
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/recolic/micro-teaching-assistant-fucker/issues/1?email_source=notifications&email_token=ABBUDSBTOG7Q7G3U4SD5QR3PYF5HDA5CNFSM4HOHZ4M2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWWGA6Y#issuecomment-497836155,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABBUDSDYWBKG3KIO4JK2GKLPYF5HDANCNFSM4HOHZ4MQ
.


USA Independent Cities (County -> City)

We should look at migrating independent cities from being listed as counties to being listed as cities at some point. This includes but is not limited to: Baltimore City, St. Louis City, and some 38 cities in VA.

See #599 as an example.


Docker nginx  container Failed to build dart v1.2.4

Please make sure that you have checked the boxes:

[x] Pease review the Troubleshooting doc for additional details regarding your issue.
[x] Review the Quickstart guide
[x] Search for both open and closed issues regarding the problem you are experiencing
[ ] For permissions issues (Access Denied and credential related errors), please refer to the requisite docs before submitting an issue:
AWS, GCP, OpenStack, GitHub

Description of issue:
Building the Dockerfile in develop is now failing with the following error stream:
Step 4/14 : RUN apt-get update &&  apt-get install -y curl git sudo apt-transport-https gnupg &&  curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - &&  curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list &&   apt-get update &&  apt-get install -y -q dart=1.24.* &&  rm -rf /var/lib/apt/lists/*
 ---> Running in d53edc41172c
...
...
...
Fetched 2797 B in 3s (862 B/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
E: Version '1.24.*' for 'dart' was not found
The command '/bin/sh -c apt-get update &&  apt-get install -y curl git sudo apt-transport-https gnupg &&  curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - &&  curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list &&   apt-get update &&  apt-get install -y -q dart=1.24.* &&  rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100

I think this is because the dart package doesn't seem to exist anymore.

I was experiencing the same. You could get around this for now by changing docker/nginx/Dockerfile to be:
# Copyright 2018 Netflix, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

FROM nginx:stable
MAINTAINER Netflix Open Source Development<EMAIL_ADDRESS>
ENV SECURITY_MONKEY_VERSION=v1.1.3
RUN apt-get update &&\
  apt-get install -y curl git sudo unzip
  # curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - &&\
  # curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list && \
  # apt-get update &&\
  # apt-get install -y -q dart=1.24.* &&\
  # rm -rf /var/lib/apt/lists/*
RUN curl -s https://storage.googleapis.com/dart-archive/channels/stable/release/1.24.3/sdk/dartsdk-linux-x64-release.zip > dartsdk.zip
RUN unzip -qq /dartsdk.zip -d /opt/google
RUN rm /dartsdk.zip
RUN mv /opt/google/dart-sdk* /opt/google/dart

RUN cd /usr/local/src &&\
  mkdir -p security_monkey

COPY dart /usr/local/src/security_monkey/dart

RUN cd /usr/local/src/security_monkey/dart &&\
  /opt/google/dart/bin/pub get && \
  /opt/google/dart/bin/pub build && \
  /bin/mkdir -p /usr/local/src/security_monkey/security_monkey/static/ && \
  /bin/cp -R /usr/local/src/security_monkey/dart/build/web/* /usr/local/src/security_monkey/security_monkey/static/ && \
  rm -r /usr/local/src/security_monkey/dart/build

RUN /bin/rm /etc/nginx/conf.d/default.conf &&\
  /bin/mkdir -p /var/log/security_monkey/ /etc/nginx/ssl/ &&\
  chmod -R guo+r /usr/local/src/security_monkey &&\
  find /usr/local/src/security_monkey -type d -exec chmod 755 {} \;

WORKDIR /etc/nginx
EXPOSE 443

COPY docker/nginx/conf.d/securitymonkey.conf /etc/nginx/conf.d/securitymonkey.conf
COPY docker/nginx/nginx.conf /etc/nginx/nginx.conf
COPY docker /usr/local/src/security_monkey/docker

ENTRYPOINT ["/usr/local/src/security_monkey/docker/nginx/start-nginx.sh"]

This changes it so that Dart 1.24.3 is pulled directly instead of trying to get it from the Debian package list. 🤮

Sorry -- I just noticed this.
Thank you @mattlorimor . Can you do us a big favor a submit a PR to reflect the update?
Thank You

@mikegrima
I certainly can. I was unsure whether pulling Dart in this fashion would be an acceptable solution. I also have not tested whether this actually results in the UI working as it should. I hadn't made it that far into standing up Security Monkey. I was simply trying to get past the Docker build failing.

Long-term, stuff should probably be ported to Dart 2 (not to mention porting to Python 3 given Python 2's end-of-life in six months), but I'm not in a position to undertake either of those efforts.

Long term, we are moving away from Security Monkey and focusing on other efforts centered around AWS Config.

Makes total sense.

I started seeing this on my internal deployment as well.

Pulling that .deb directly and installing it would probably work as well. I don't know why it seems to be failing when going through the .list.

Running apt list -a dart returns:
Listing... Done
dart/stable 2.3.2-1 amd64
dart/stable 2.3.1-1 amd64
dart/stable 2.3.0-1 amd64
dart/stable 2.2.0-1 amd64
dart/stable 2.1.1-1 amd64
dart/stable 2.1.0-1 amd64
dart/stable 2.0.0-1 amd64

:/

Looks like they simply removed it from being able to be pulled from the .list of dart/stable.


chore: url changes of mocking flagsmith

Description

TL;DR Complimentary changes utlising APPSMITH_CLOUD_SERVICES_SIGNATURE_BASE_URL when mocking flagsmith on cloud services

fetching the remote flags from cloud server, the  the cacheableHelper function retrieves base url for cloud services.
when running CI tests this base url is set to ted rather than the cloud services. In order to get the docker hosted CS url which is provided by this varialbe: APPSMITH_CLOUD_SERVICES_SIGNATURE_BASE_URL , we have to use another method getBaseUrlWithSignatureVerification to get the docker hosted CS url instead of getBaseUrl which gives TED url
PR fixes following issue(s)
Fixes #25787
Type of change

Chore: this may break EE sync

Testing

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration.
Delete anything that is not relevant

[ ] Manual
[ ] JUnit
[ ] Jest
[ ] Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/ok-to-test


Update copyright guidance to omit notices for new files.

Previously approved in https://github.com/rust-lang/rust/pull/43498 ;
update the guide to match.

Thanks :)

@joshtriplett I think tidy still enforces that copyright notices are there.

Thanks :)


fix(bundler) throw error when resource, external bin or icon not found

What kind of change does this PR introduce? (check at least one)

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

Does this PR introduce a breaking change? (check one)

[ ] Yes. Issue #___
[x] No

The PR fulfills these requirements:

[x] It's submitted to the dev branch and not the master branch
[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix: #xxx[,#xxx], where "xxx" is the issue number)

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

The commit here shows "unverified" because I messed up my git credentials, gonna fix it ASAP.

Can confirm it's really you. :)


About the code

Hi, Would you open your source code of this paper in github?

Please see the repository for WLDO here: https://github.com/benjiebob/WLDO


Conversion from requirements.txt to Pipfile fails

Hi!
I have a Pipfile in the root of my project and then a folder (subproj) that contains a requirements.txt for a subproject. I'm doing the following:
$ cd myproj
$ pipenv shell
$ cd subproj

Then I'm trying to convert a requirements.txt into a Pipfile for this subproject, executing pipenv install -r requirements.txt and I get this error message:
Requirements file provided! Importing into Pipfile…
Traceback (most recent call last):
  File "/Users/joaoalves/.local/bin/pipenv", line 11, in <module>
    load_entry_point('pipenv==8.0.6', 'console_scripts', 'pipenv')()
  File "/Users/joaoalves/.local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Users/joaoalves/.local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Users/joaoalves/.local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/joaoalves/.local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/joaoalves/.local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Users/joaoalves/.local/lib/python2.7/site-packages/pipenv/cli.py", line 1680, in install
    import_requirements(r=requirements, dev=dev)
  File "/Users/joaoalves/.local/lib/python2.7/site-packages/pipenv/cli.py", line 232, in import_requirements
    assert os.path.isfile(r)
AssertionError

I'm not sure if this is a bug per se or if there is some problem in my environment. I can use virtualenv and virtualenvwrapper without any problem. Pipenv works fine too with the Pipfile that's on the root project.
Environment:

Mac OS Sierra 10.12.6
ZSH + Oh My ZSH
Pyenv with Python 2.7

Best regards,
João

please provide the requirements.txt file.

Closing until a requirements file is provided.

Ups, my bad. The requirements.txt is the following:
requests==2.12.1

(I know that's a simple requirements file, but this is for a workshop)

just do pipenv install from the root directory.

i know what's causing this bug, i'll fix it.

basically, this is currently from the root of the project, so,
pipenv install -r subdir/requirements.txt

even if you're in the subdir. I'm fixing it.

8.1.0 released, which fixes this!

Sorry for the bug! Thanks for noticing it :)

Thank you for being so responsive and fixing it so quickly! 🥇


Allow --hostname with --net=host

Docker creates a UTS namespace by default, even with --net=host, so it is
reasonable to let the user set the hostname. Note that --hostname is
forbidden if the user specifies --uts=host.
Closes #12076
Signed-off-by: Jason Heiss<EMAIL_ADDRESS>

Job: Docker-PRs-WoW-TP4 FAILED:

---
ed1d3d.
+ ec=125
+ set +x

----------------------------------
ERROR: Failed to build test binary
----------------------------------

-----------------------------------------------
ERROR: Failed with exitcode 125 at Wed Feb 10 14:47:00 CUT 2016.
-----------------------------------------------

INFO: Tidying up at end of run
INFO: Nuking /d/CI
INFO: Zapped successfully
INFO: End of cleanup
INFO: Ended at Wed Feb 10 14:47:01 CUT 2016 (1m 15s)
Build step 'Execute shell' marked build as failure
[PostBuildScript] - Execution post build scripts.
[docker] $ sh -xe D:\temp\hudson8181777298685205788.sh
+ set +e
+ set +x
INFO: End of cleanup
Notifying endpoint 'HTTP:https://leeroy.dockerproject.org/notification/jenkins'
---

Given UTS is separate from network namespace, I think this is agreeable.  A user has to understand that this allows them to have some inconsistency between /etc/hosts + /etc/hostname and the "new" UTS hostname..so not sure if we need more documentation there..

what is the usecase for having this, I think it is like this to prevent confusion, majority of people believe uts and net are the same thing and if you are going to ping say my hostname debian from a net host container you would expect it to work

My particular use case is running the MIT Kerberos replication server (kpropd) in a container. The MIT Kerberos replication protocol uses a special "secure" Kerberos mode that does some extra sanity checking involving the hostname and IP address. In order to comply with these checks I have to run the container with --net=host but set the hostname to a value that differs from the host. To do that currently I have to give the SYS_ADMIN capability to the container so that I can run the hostname command as part of my entrypoint. If I could use --hostname I wouldn't have to give the container SYS_ADMIN.

ping @estesp @jfrazelle what's the status here, what are your current thoughts?

Ok I think this is all good, just can we keep the current default behavior, but if they pass --hostname then it will set it over that, also a note in the docs maybe explaining how and why this works without changing the hostname on their host would be good just so people understand a bit better

@jheiss I think we agreed this is reasonable and @jfrazelle asked for a bit more clarification in the docs (I think under the --net=host section; maybe instead of only remove --hostname as a conflicting param add a comment about the fact that you can set --hostname because the UTS namespace is unique in the container and does not affect the hostname on the host.
I've moved this to code review as I think we agreed this is a reasonable change at last week's review session.

git and I clearly don't get along. Sigh.

Give me a bit to see if I can undo my failed attempt to squash/rebase

@jheiss At this point, you might be better off doing this:

Copy the file(s) with your actual change outside of the repo.
Close this PR.
Back in your local clone, fetch
Rebase to docker/docker master branch
Create a new branch
Copy your changes into your new branch
Create a new PR

OK, I think my attempt at git surgery was successful.
I added a sentence to the host network section to try to better explain the interaction. Let me know if anyone has suggestions. For example, should that be a separate paragraph? Called out as a bolded note? (It doesn't seem to me to warrant that much attention.) Does it need to be more verbose?
In re-reading the documentation I noticed that with my change in the UTS section we now the sentence I added that says --hostname is forbidden with host UTS mode, and then a few sentences later it says that an advanced use case would be to set the actual hostname from within the container. That seems potentially confusing without further explanation of how you would go about that (giving the container SYS_ADMIN capability and running hostname in the container). Not sure if I should try to explain that better, or remove the note about setting the actual hostname from within the container? Or just leave it alone and assume advanced users will figure it out?

WindowsTP4 timed out after 2 hours :cry: https://jenkins.dockerproject.org/job/Docker-PRs-WoW-TP4/2396/console
I'll restart that job
03:47:44 SKIP: docker_cli_search_test.go:11: DockerSuite.TestSearchOnCentralRegistry (Test requires a Linux daemon)
03:47:45 panic: test timed out after 2h0m0s

@jheiss Thank you for sorting that. LGTM.

docs LGTM

ping @estesp @jfrazelle does code LGTY, if it does, we can merge this :heart:

LGTM 🐰

looks good, thanks @jheiss! LGTM


fix attribute value escaping

See Canonical XML chapter 5.2
https://www.w3.org/TR/2000/WD-xml-c14n-20000119.html#charescaping
In attribute values, the character information items TAB (#x9), newline
(#xA), and carriage-return (#xD) are represented by "	", "
",
and "
" respectively.
This fix is necessary to correctly keep newlines character as well as tab char in XML attribute values, otherwise these characters are replaced with single blank space by all other compliant participants.

Thank you for the fix.

Added tests in 5a98b02.

Published new version: https://pub.dartlang.org/packages/xml

Excellent! I've also tested 2.4.4 in my app, great. Thanks a lot.


Mark prop-types and classnames as external in webpack build, fixes #298

Webpack build updated to use externally provided classnames and prop-types packages
Also module field added that points to ES module index file, which has the same export structure as index.js from perspective of ES modules.
Additional step added to build process that will transpile code using babel, leaving only modules.
Webpack build was not switched from index.js to index.module.js because every existing consumer, that uses commonjs modules, will have to explicitly reference default export require('react-draggable').default
Fixes #298

I know why Travis build failed, but I'm not familiar with Typescipt, and why typings for react-dom are of version 16, but for react package -- 15, corresponding yarn.lock entries, that look really odd
even though ^16 is specified, 15.5.4 is resolved
Commit: https://github.com/mzabriskie/react-draggable/commit/db093e60fdbae3bf0c29195587d69f303e0eb1c8
"<EMAIL_ADDRESS>  version "15.5.4"
  resolved<EMAIL_ADDRESS>  dependencies:
    "@types/react" "*"

"@types/react@*", "<EMAIL_ADDRESS>  version "16.0.3"
  resolved<EMAIL_ADDRESS>
I've fixed this locally by explicitly installing version 16 of both packages

Thanks. The main can also be replaced if we just make a commonJS entrypoint using module.exports. It should be simple enough to fashion one that mimics the existing behavior.
As for the TS definitions, I agree they're weird. We may have to switch up the yarn-specific "resolutions" attribute to get around it.

Not sure what you meant by "It should be simple enough to fashion one that mimics the existing behavior", for me, it looks like index.js is already doing this.
After some digging I think it might be better to ship 2 bundles: ES module (for bundlers) and UMD (for node & browser).
I can't imagine a lot of profit in keeping existing file structure and transpile every file separately to different directories to have es modules in dist/esm and common js in dist/cjs. I hope nobody will try to do something crazy like this in their code: require('react-draggable/dist/cjs/DraggableCore') or import * from 'react-draggable/dist/esm/DraggableCore'.
Though there is one pros for this approach: it is easier to implement with existing project dependencies
Creating ES Module bundle may requrie switching to Rollup


Uncaught (in promise) TypeError: Cannot read property 'value' of undefined

I've followed all steps exactly as instructed, still getting this error. When I installed Multiselect a couple of days back I didn't get such errors. Today installed a fresh copy for my project and it throws this error.

Please send the Multiselect options you are using. Are you using Vue 2 or 3?

Please send the Multiselect options you are using. Are you using Vue 2 or 3?

I am using Vue 3.
<Multiselect v-model="mVal" :options="options" />
I have done the import as necessary. Below are screenshots.

In addition to this I am also getting a lot of warnings like below:

Strange, I'm not able to reproduce this, it's working fine with Vue 3 on my end. Try creating a new component containing only this:
<template>

    <Multiselect v-model="mVal" :options="options" />

</template>

Does it still throws the errors?

Strange, I'm not able to reproduce this, it's working fine with Vue 3 on my end. Try creating a new component containing only this:
<template>

    <Multiselect v-model="mVal" :options="options" />

</template>

Does it still throws the errors?

Yes, I tried creating a new component like suggested, but it still throws the same error. I am not sure how to find the error on my side, because when I remove Multiselect everything seems to be working fine.

Couple of ideas:

remove node_modules / package.json & npm install
try importing @vueform/multiselect/src/Multiselect.vue instead of @vueform/multiselect - does still throws the error? If yes, send a screenshot as the error message should be more detailed.
what exact Vue 3 version & @vueform/multiselect versions you are using? Are you within Vue CLI project?
if nothing works you must create a repo which reproduces the bug so I can look into it.

Couple of ideas:

remove node_modules / package-lock.json & npm install
try importing @vueform/multiselect/src/Multiselect.vue instead of @vueform/multiselect - does still throws the error? If yes, send a screenshot as the error message should be more detailed.
what exact Vue 3 version & @vueform/multiselect versions you are using? Are you within Vue CLI project?
if nothing works you must create a repo which reproduces the bug so I can look into it.

Absolutely no clue why, but when I removed node_modules and package-lock.json, then did npm install, worked!!! Thank you for your time, really appreciate it.

Glad it worked!


Console logging needs to be turned off and off again before working with server-side rendering

When using server-side rendering, the console logging button is blue (should be active) but nothing is logging. If I turn it off and back on again logging then works. Any way to have logging automatically work without manually doing this?

Fixed in 4.0.3. Tnx @andykog!

Works now. Thanks!


I can not access the website(https://lcui.org) with a fraudulent certificate.

Please exchange the website(https://lcui.org) certificate with the correct one.
It can not be accessed by major browsers.

Sorry, this is my writing wrong, you should access this: http://lcui.org

I got access. Thank you.


Possible train error fix?

Latest comment on the 0.17 post on the discussions tab has a crash, I believe the latest commit on my fork (you can ignore the others) should fix it.
Things to test:

Closing the train gui that shows previews of the trains
Remote control gui that shows previews of helis

All changes made.


Add support for Eslint alongside JShint

Eslint is disabled by default, alongside any other Beta linters.
To enabled it, simplify configure your .hound.yml:
eslint:
  enabled: true
  config_file: config/.eslintrc
  ignore_file: config/.eslintignore

This is going to be backed by hound-eslint
Changes:

Implement Config::EsLint and Linter::Eslint.
Support *.js, *.es6.js, for file extensions.
Replace !collection.any? with collection.none?

https://trello.com/c/2a6yQORa

@teoljungberg could we include JSCS (backed by https://github.com/thoughtbot/hound-jscs) as well?

@seanpdoyle My idea was to make separate PRs for JSCS and Eslint. Do you think it makes sense to have them all done in one PR?

Oh, sorry, I read this as ESLint and the new JSHint (backed by https://github.com/thoughtbot/hound-jshint).
Carry on

LGTM after incorporating #963

I'll hold of incorporating the changes until #963 has been flushed out

I've updated the PR to reflect the new setup from #963.
I'll hold of merging this until we've setup staging and production servers for hound-eslint

I love how small of a change this is. :+1:

hound-eslint successfully works on staging: https://github.com/teoljungberg/houndradish/pull/14

I made a PR to hound-eslint to prepare it to go live. ping @seanpdoyle

:shipit:


Search function fixes/improvements

This issue will serve as a general post for aggregation of all fixes and suggested improvements to the search function within the Compose theme. It will be updated over time.
Fixes

[x] After entering and then removing search terms from the search box, the results drop-down does not clear which obstructs the page and can only be removed by either refreshing or navigating away. Example (at 0:27)

[x] When entering a search term for which at least one match is known, then removing that term and typing a new one for which there are no known matches returns all possible pages even though this is false. This represents different behavior than when the page is clean and then searching for the same term (again, for which there are no matches). The search function appears to stop evaluating the search box input after >0 matches are found. Example

[x] Similar to the above, when entering a search term for which there are known matches, pausing while typing, then continuing to add characters to the end of that word does not eliminate any results. This gives the false impression that the word typed has matches on pages. Example

[x] Searches that include only integers appear to be either broken or returning results invisible to the user. A search that contains an exact match appears to return the correct results, however, but it's unclear where this breaks down. Example

Improvements

[x] When clicking a search result after entering a keyword, the page returned could be very long and is not clear where that keyword is located. It would be helpful for there to be some better visual/UX "pointer" to show the user where specifically that term is located, or if multiple on a given page handling for multiple results.

[x] Including multiple words (space separated) in the search box should be treated as a single string, not return results for each word separately.

[x] This search functionality does not have the capability to enter a term and hit "enter" which then presents a separate page with the findings of the search. This lack of behavior makes searching a bit difficult to initially understand. Not sure how it could be implemented, but a more "traditional" approach as a response to this behavior might be better.

[ ] Search should account for specifying keyword(s) in double or single quotes to ensure literal string matches.

[ ] Search appears to view the entire site as its domain. There should be a parameter which limits the field of vision of the search indexing to exclude, as an example, the home page if desired. Presently, searching for something like "GitHub" which appears only on the home page, is returned by search.

[x] Search should allow for finding substrings. For example, on the home page is the string "forestry.io" which appears nowhere else. This is only returned if the user types "forestry.io" exactly as it appears. While wildcard globbing seems to work (searching for "forestry*" returns the result), you might want to allow for substring match without it.

[ ] It would be super great to be able to constrain where matches should be returned. For example, a user might choose to search only for terms found within a code block versus other text. Or a user might choose to only search within notes.

[ ] Similar to the above feature, a user may wish to constrain a search to a page (with children) on which focus is currently set rather than performing the search globally. May want to investigate some ability to detect the current page and offer to perform the search on that page and down (traverse links) or something similar.

Some types of searches with special characters cannot be executed. For example, searching for ->> which is found on this page.

Idea: Since the search bar is always at the top, either implement a "jump-to-top" button like in Clarity, or a way for users to instantly access search if they wish.

Idea: After the list of suggestions shows up, allow the user to select an entry with Arrow Up/Down keys and press enter to go to that page

That back-to-top button is pretty slick, @onweru so nice job.


Introduce new-ish code style, along with rudimentary style guide

In #28, @noctux mentioned a code style guide, and maybe some automatic checks or even formatting. Well, here goes.
After looking at Google's C++ Style Guide, I was instantly sold on the idea of automatic formatting. No-one, including me, is going to read a document like that just to contribute a patch to Newsboat :)
As mentioned in #28, we already employed astyle for formatting, but simple comparison showed that clang-format is much more configurable, so I made the switch. Still, clang-format couldn't preserve a lot of our code as-is. I'm not sure if it's a bad thing given it's a one-time conversion. I'm interested in your thoughts on this.
I found that our use of tabs really constrain us in the kind of alignment we can do (doh!). See below for interesting consequence it had on member initializers in constructors.
Decisions I'd like to highlight:

curly braces with function bodies always go on separate lines. I used to be on the fence about this, because it wastes a line when function name is short, but names of our test cases are always long, and consistent style is more important than always-beautiful style;
queer way for aligning member initializers in constructors. Just take a look;
asterisks in pointers are grouped to the left ("const char* str"). I know it's not how compiler sees it, but grouping to the left seem to be the preferred approach in C++. We don't use that many pointers anyway, and for references, grepping shows that '[^&]&\s' occurs 1038 times, whereas '\s&[^&]' occurs only 322 times; the latter matched a lot of lines where we take a pointer of something, too;
includes are now separated into a few groups, and clang-format will keep each group sorted. Grouping is described in the Code Style Guide; hope my rationale is strong enough.

Things I had to let go of:

space after ! in ifs. clang-format removes the space.

The style guide is rudimentary at the moment, but I think we'll add new items there as we bump into problems.
@tsipinakis, @noctux, @der-lyse, what do you guys think? Is there something about the new style that you absolutely hate, or think a mistake?
I also welcome opinions by anyone else who ever contributed code to Newsboat or Newsbeuter.
There's absolutely no deadline on this, because these changes can't get out of sync, but I'll merge them 7 days after last comment here.

Coverage decreased (-0.1%) to 33.07% when pulling 86767c6e7ee366404e5c5c5d3e169b48b14132f9 on feature/coding-style into 8c03b8dc7014db018c59c63dca66746a0a1588e7 on master.

Coverage decreased (-0.1%) to 33.07% when pulling 86767c6e7ee366404e5c5c5d3e169b48b14132f9 on feature/coding-style into 8c03b8dc7014db018c59c63dca66746a0a1588e7 on master.

Hey, thank you for the work and the thought you've put into it!
I think I'll have to take a closer at the code for a more thorough opinion. However, just a quick sidenote on the usage of tabs:

I found that our use of tabs really constrain us in the kind of alignment we can do (doh!). See below for interesting consequence it had on member initializers in constructors.

There are several projects with the following rule (sometimes refered to as "smart tabs"): Use tabs for indentation and spaces for alignment.
I've always been rather content with that rule: Indentation (and its width) are something quite personal, some people prefer it to be minimal, e.g. 2 spaces, other like it to be 8 spaces because a tab ought to have 8 spaces etc.pp.. Keeping indentation to tabs means that everyone can tune that setting to her likening in the editorconfig, while all alignment (e.g. function parameters, multiline conditionals, etc.) still looks consistent and pretty.
For clang-format, a UseTabSytle = ForIndentation might to the trick to some extend.

I'm by no means a C++ programmer, but here are my two cents:

No-one, including me, is going to read a document like that just to contribute a patch to Newsboat :)

You're absolutely right, neither did I! I just scrolled over it. It's simply waaaaaaay too much.
In my opinion automatic code formatting is a usually good thing. One could think about providing a commit hook that people can install in order to reject ill-formatted code patches right away. However, I'm not sure if it is possible, that only the touched lines are checked/rejected. And yes, not everybody will install the hook.
Also when having an auto formatter I sometimes disable it for a small code segment, because I want to align the code differently, e.g. having a nicely formatted table layout sometimes is more readable. This only occurs rarely, but every now and then it's nice to be able to do that (shooting from the hip, this happens especially in tests). I'm not sure whether this is useful for Newsboat or not, I don't know the code base well enough.

space after ! in ifs. clang-format removes the space.

I personally like that. ;-)
Regarding the mix of tabs and spaces: I think this a bad thing and one should only use either or to indent and align. Judging from my experience, mixing caused all sorts of trouble with misaligned code. But I never used EditorConfig, so the mix of tabs and spaces may be not that worse anymore. Looking back I switched from tabs to spaces and back quite a number of times, currently I'm sold on 4 spaces. But that's maybe the Python coder in me.

@noctux, sorry, I keep postponing an answer to you because I want to play with mix of tabs and spaces first, but haven't got around to it yet. Hopefully on weekend (but don't I always say that?).
@der-lyse, I like the commit hook idea. Maybe we should run clang-format as Travis job as well, to catch those who don't run make fmt before comitting :)
clang-format allows disabling formatting for a specific line by placing a comment on it, but I'll have to dig further to find out if one can disable auto-formatting for a whole region of the code. Escape hatches are important to have even if we never use them.

Turns out clang-format already mixes tabs with spaces in situations like this:
auto x = do_work(long_argument_1,
                 another_long_argument,
                 even_longer_argument_that_certainly_won_t_fit_with_the_rest);

and this:
auto y = 1
         + a_very_long_line_that_can_t_fit_on_the_previous_one;

In both cases, it relies on tab occupying 8 spaces (the width is configured by me). But if I configure my editor to display 4 spaces for each tab, the code looks ugly:
auto x = do_work(long_argument_1,
         another_long_argument,
         even_longer_argument_that_certainly_won_t_fit_with_the_rest);

auto y = 1
     + a_very_long_line_that_can_t_fit_on_the_previous_one;

I'd rather it used only tabs, and looked pretty much the same regardless of tab width:
auto x = do_work(
        long_argument_1,
        another_long_argument,
        even_longer_argument_that_certainly_won_t_fit_with_the_rest);

auto y =
        1
        + a_very_long_line_that_can_t_fit_on_the_previous_one;

But I can't make clang-format do what I want! First of all, it seem to ignore AlignAfterOpenBracket: even though I set it to AlwaysBreak, it still leaves the first argument on the same line as the function name. Second, I can't make it put "1" on a separate line: since it's short, clang-format keeps it on the same line as assignment operator. Does anyone have relevant experience and can help?

I kept postponing the merge because I wanted to make another pass over the results, but this just isn't happening. I have just rebased commits onto master, and will merge them once Travis build is done. Later on, if anyone runs into an issue with formatting, just open an issue and we'll see what to do about it.


Use local apiserver for kubectl operations

Fixes https://bugs.launchpad.net/charm-kubernetes-master/+bug/1869246
Removing the kubernetes-master leader unit takes forever now, because cdk-addons.apply runs in every hook and times out trying to reach the kubernetes-master public address:
unit-kubernetes-master-1: 12:57:23 INFO unit.kubernetes-master/1.juju-log cni:14: Invoking reactive handler: reactive/kubernetes_master.py:1143:configure_cdk_addons
unit-kubernetes-master-1: 12:58:22 DEBUG unit.unit-kubernetes-master-1.collect-metrics Unable to connect to the server: dial tcp <IP_ADDRESS>:6443: i/o timeout
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken Unable to connect to the server: dial tcp <IP_ADDRESS>:6443: i/o timeout
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken Traceback (most recent call last):
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken File "/snap/cdk-addons/1820/apply", line 359, in <module>
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken main()
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken File "/snap/cdk-addons/1820/apply", line 28, in main
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken if render_templates():
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken File "/snap/cdk-addons/1820/apply", line 35, in render_templates
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken node_count = get_node_count()
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken File "/snap/cdk-addons/1820/apply", line 343, in get_node_count
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken output = kubectl("get", "nodes", "-o", "name")
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken File "/snap/cdk-addons/1820/apply", line 339, in kubectl
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken return subprocess.check_output(cmd).decode('utf-8')
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken File "/usr/lib/python3.5/subprocess.py", line 626, in check_output
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken **kwargs).stdout
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken File "/usr/lib/python3.5/subprocess.py", line 708, in run
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken output=stdout, stderr=stderr)
unit-kubernetes-master-1: 12:59:54 DEBUG unit.kubernetes-master/1.cni-relation-broken subprocess.CalledProcessError: Command '['/snap/cdk-addons/1820/kubectl', '--kubeconfig', '/root/cdk/cdk_addons_kubectl_config', 'get', 'nodes', '-o', 'name']' returned non-zero exit stat
unit-kubernetes-master-1: 12:59:54 INFO unit.kubernetes-master/1.juju-log cni:14: Addons are not ready yet.

The application is not exposed in Juju, so connection attempts to the public address are blocked by cloud firewalls.
This PR updates all kubeconfigs to point to the local unit's private address, except for /home/ubuntu/config which still points to the public address since it's meant to be copied out of the cluster and used by users.
I am testing this now.

Done testing with latest changes. Removal took 13 minutes, down from 120+.

This feels good to me, but I don't think it's a full fix to https://bugs.launchpad.net/charm-kubernetes-master/+bug/1869246.

There's definitely more we can do to improve this. I went ahead and called that issue fixed since it was less about the removal being "slow" and more about the 2+ hour duration being a significant regression compared to Charmed Kubernetes 1.17.
I have opened up a follow-up issue where we can consider further improvements: https://bugs.launchpad.net/charm-kubernetes-master/+bug/1869262


Fix translation updating

There's a bug in vendor/update-translations.js that results in it running out of memory due to the current state of some of the translation files. I'm not 100% sure, but I think it might be caused by some property keys being out of order in some of the locale files.
I've re-written this script to use the diff module, which makes it a lot simpler.
The logic is:

Read the en-US.json file and change all property values to an empty string.
Read the locale file being updated and keep the original lines.
Make a copy of those lines with all property values set to an empty string.
Compute the diff between the lines (without property values) from en-US.json and the lines (without property values) from the locale file.
For each diff segment:

If the segment has not changed, take the original lines from the locale file for that range of the diff.
If the segment has been "added", then it means the lines in the locale file should not be there, and they can be skipped over.
If the segment has been "removed", then it means the lines from en-US.json need to be added to the locale file.

After all diff segments have been processed, write the resulting set of lines back to the file.

I've also run the script to get all of the locale files back in sync.

I'm closing this since I don't use GPM or YouTube Music anymore, but if anyone is still interested in this, feel free to reopen.


Bundle Package should have a sub package for errors

carried over from https://github.com/openshift/ansible-service-broker/issues/782
I think that we should consider this in conjunction or as a part of https://github.com/automationbroker/bundle-lib/issues/106 but just adding issue to keep track.

I don't think this is a priority and we should not consider this critical.
The idea of this is to create an API for the errors. This will allow for us to add more context into the errors, allow users to depend on certain type of errors to handle them correctly and allow us to control the output of bundle-lib. I personally don't see a need at the moment for this @jmrodri @dymurray from either the broker or CLI perspective is this something that should be prioritized?

Closing stale issues


Labels for fixed field codes

In some cases, MARC fixed-field codes are placed in bf:code, e.g.:
bflc:encodingLevel [ a bflc:EncodingLevel ;
               bf:code "f" ] .

bf:status [ a bf:Status ;
               bf:code "c" ] .

This practice preserves the inscrutability of MARC.  These codes have corresponding labels, and it would be better to use both, e.g.
bflc:encodingLevel [ a bflc:EncodingLevel ;
	       rdfs:label "full level" ;
               bf:code "f" ] .

bf:status [ a bf:Status ;
	       rdfs:label "corrected or revised" ;
               bf:code "c" ] .

You already use both a label and a code in some instances:
bf:notation [ a bf:Script ;
            rdfs:label "extended roman" ;
            bf:code "b" ] .

A review of the conversion of fixed field codes in order to find cases when an additional label is needed would be a good thing.

This is already in progress - these codes are being converted to lists and uploaded to id.loc.gov - e.g http://id.loc.gov/vocabulary/menclvl/f is the uri for your first example.
Once we get the code list updated we're updating the conversion specifications and finally the conversion. This should be completed relatively soon. Thanks for your comments!


Fix floating point rounding in sArticles::sRound()

Description
Please describe your pull request:

Why is it necessary?
The method sArticles::sRound() "rounds" monetary amounts to two decimal places by string manipulation based on PHP's implicit type conversion of double values to string. For numbers >= 1e14 and numbers <= 1e-5, PHP will use scientific notation (i.e. floating point notation) when converting those numbers to string. This breaks sArticles::sRound() in silly ways. In particular, 0.00001 is rounded to 1, -0.00001 is rounded to -1 and<PHONE_NUMBER>00000.0 is rounded to 1. While we have not observed the latter case in the wild, the two former cases will happen when the cart total is close to zero, which is why we discovered this case. Also see the related PR #1027.
What does it improve?
It makes sArticles::sRound() work correctly for numbers which are small enough or large enough for PHP to stringify them using scientific notation by default.
Does it have side effects?
None observed.

Questions
Answers

BC breaks?
no

Tests pass?
yes

Related tickets?
Don't know of any.

How to test?
Unit tests are enclosed with the PR.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/#/issues/SW-18066.
Please use this issue to track the state of your pull request.

Thank you for your contribution. This will be released with our 5.3 version.


feat: production hardening of systemd unit files

Hello,
The systemd unit file templated by this role seem unsynchronized from the official recommandations in the documentation https://www.nomadproject.io/guides/install/production/deployment-guide.html#configure-systemd
In this PR I tuned some params about file descriptors and processes limitations that could be problematic for a production cluster.
NB: I know it's possible to override systemd unit file propertries, but having sane default could be great!

Looks good, thanks a lot!


Missing references in "Section 7 References"

Some references used in the SD are not defined in "Section 7 References", such as [SA] [GD] [GP_ROT] [NIST-ROTM] [ISO 24759].  They are defined in the cPP, however.  They should be transferred to the SD, or, better yet, a common bibliography could be built in a separate file and included into each document.

This is what #109 is for. Once we are basically done (so we know what all the references should be), we will review and make sure they are all properly covered.


Display the validating tools version on the yangvalidator page

Display the current pyang, yanglint, ... versions on the input/home yangvalidator page.

UI resolved here: https://github.com/YangCatalog/yangcatalog-ui/issues/21


Add acceptedInputTypes concept to TransformAction

Depends on https://github.com/Alluxio/alluxio/pull/11112

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/8746/
Test PASSed.

Build finished. Test FAILed.

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


Changes made to Previous PR UnionML Swags

Previous PR: Added UnionML Swags #156

hey @sshiv5768 Please wait there is a Merge Conflict with this branch.

Do i need to change something? @thefool76

hey @sshiv5768 This opportunity is already been added by other person who made a successful PR. sorry to say I am closing it.


Added another person that can use say! (subID)

Title, just another person that can use the "say" feature, so you can have 2 people!

I will merge this in current bot, but i will make it an array in the rewrite version of the bot which supports photos instead of old spammy messages with an option to toggle it for each player, here's a photo of some stuff im working on,
(Networth)[https://cdn.discordapp.com/attachments/850843468938870824/952943566068543558/MX1D.png]
(Ah stats)[https://cdn.discordapp.com/attachments/850843468938870824/952943675388879008/MX1D.png]
and i changed how the code works :)


Update rclone and restic

Restic released the update with much faster prune performance.

The new alpine version seems to break the arm build, and it looks like fixing that might take some time (which I might have at weekend at the earliest). @jlelse Would you mind downgrading alpine to the old version again?
Not doing the alpine upgrade right now seems to be a quick fix so we can get the new release out.  Maybe it already helps to just re-run the test?

Is it maybe the same problem I had with the alpine images?
https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.13.0#time64_requirements

@escoand Yes, and we do not have a 19.03.9 docker-in-docker image for arm since the builds are broken for more than half a year now. So we can't build this stuff in drone currently.

Merging this since it now builds correctly.

Maybe we should switch to just using the provided binaries instead of building everything from source? restic as well as rclone provide binaries for all supported platforms.

@jlelse Sorry for the late answer. Yeah, that would be possible. I am open to that change.

I added an issue for that: #84


Maintenance info version must be a Semantic Version

The recent changes to add maintenance info support are resulting in a Semantic Version error:
$ cf version
cf version 6.47.2+d526c2cb3.2019-11-05

$ cf target
api endpoint:   https://api.run.nulldriver.com
api version:    2.139.0
user:           admin
org:            cfclitest Org 8kl4b3BOMW
space:          cfclitest Space 8kl4b3BOMW

$ cf create-service-broker 'cfclitest Space Scoped Broker 8kl4b3BOMW' admin password https://cfclitest-space-scoped-broker-8kl4b3bomw.cfapps.nulldriver.com --space-scoped
  Creating service broker cfclitest Space Scoped Broker 8kl4b3BOMW in org cfclitest Org 8kl4b3BOMW / space cfclitest Space 8kl4b3BOMW as admin...
  Service broker catalog is invalid:
  Service overview-service
    Plan small
      Maintenance info version must be a Semantic Version, but has value "v1.0"
    Plan large
      Maintenance info version must be a Semantic Version, but has value "v1.0"

  FAILED

If I use the previous version of overview-broker before that commit, everything works fine.

Hey @patrickcrocker
Thanks for pointing this out. A pipeline failure went unnoticed!
This is now fixed on the master branch: https://github.com/cloudfoundry/overview-broker/commit/931266c4929d19a42afcbe817bc70d6abafaf2bf
Let us know if anything else goes wrong!


[bug] Assign custom_role to SPN with subscriptions scope

Describe the bug
I have A SPN which is created in MGT subscription in level0. I want that SPN to be able to deploy level3 components like AKS, ACR etc...
I created an AD groups and put that SPN in it.
I created a custom role like this one :
custom_role_definitions = {
  level3_deployer = {
    name = "custom-role-level3-deployer"
    useprefix   = true
    description  = "Custom role for the SPN L3 to deploy PaaS services"
    permissions = {
      actions = [
        "Microsoft.Resources/subscriptions/providers/read",
        "Microsoft.Resources/xxx",
        "Microsoft.Resources/zzz"
      ]
    }
    assignable_scopes = {
      subscriptions = [
        {
          # Providing an object_id as string
          id = "/subscriptions/xxxxxxxx-yyyy-zzzz-9999-888888888888"
        }
      ]
    }
  }
}

Create role mapping
role_mapping = {
  custom_role_mapping = {
    subscriptions = {
      logged_in_subscription = {
        "level3_deployer" = {
          azuread_groups = {
            keys = ["level3_deployer"]
          }
        }
      }
    }
}

To Reproduce
Steps to reproduce the behavior:

Create application + spn
Create ad groups + add spn to it
Create custom role and use assigned_scopes with subscription id
Add custom role to role mapping
Create SPN in MGT subscription
Check

Expected behavior
I expected that assigned_scopes takes precedence over logged_in_subscription.
The custom role should be present in /subscriptions/xxxxxxxx-yyyy-zzzz-9999-888888888888 but it's only present in MGT subscription.
Additional context
We have multiple clients which need level 3 components.
We are using GitHub Actions to deploy LZs and gitops SPN from ignite to deploy those LZs.
So gitops SPN connect to the good KV and get level3_deployer SPN credentials.
That SPN is allowed to deploy PaaS for the client.
NB: if I remove /subscriptions/ in the custom_role, the plan shows / wants to change to the good subscription id. But Azure asks /subscriptions prefix

found another way


Add Kubernetes-based Event Driven Autoscaling (KEDA)

Add Kubernetes-based Event Driven Autoscaling (KEDA) as Helm repo
Closes https://github.com/kedacore/keda/issues/203

Will use a clean branch.


Managing dependencies of crates inside a workspace

Workspace Foo

Crate A depends on Bar
Crate B depends on Bar
Crate C depends on Bar
Crate D

Where Bar is an external dependency that I also maintain. When I want to update to a newer version of Bar, I would have to change 3 Cargo.toml files, which is a bit cumbersome. It would be nice if I could specify the dependency in one place. Is this possible?

Ah yes currently this isn't possible I believe. You can use something like [replace] during development but for actual publication the relevant Cargo.toml files all need to be updated individually

I've got a similar use case, though I don't actually control the duplicated dependency, and I've got a bunch of them.
The obvious solution, to me at least (and anyone who's worked on a large maven project), seemed to be some sort of variable substitution a la #4221, but it looks like that's a no-go. From that conversation:

we'd rather work on enhancing workspaces to support using one version of a crate across the workspace.

Is anything of that sort in the works?
My current (not very good) solution is to throw all external dependencies into a dedicated crate that then re-exports them so that they're at least all in one place. The downside is that now all of the external crates get built whenever any of my crates gets built, even if it needs only a subset, and it works poorly for macros, even with the accidentally-stabilized macro-reexport function.
I've looked into cargo-outdated and cargo-edit, but both seem more concerned with making sure that things are up-to-date, when I really care more about making sure that all of my crates agree on dependency versions.

What about changing Cargo to allow specifying dependencies and their settings like version, etc., in workspace Cargo.toml? These could be used as default parameters for dependencies in inner crates.
Workspace Cargo.toml could have default versions specified
[dependencies]
log = "0.3.9"

All inner crates could inherit version from workspace just by omiting version at all
[dependencies]
log = {}

or specify any other dependency version for the crate
[dependencies]
log = "0.4.5"

@alexcrichton:

Ah yes currently this isn't possible I believe. You can use something like [replace] during development but for actual publication the relevant Cargo.toml files all need to be updated individually.

Why? Can you explain please? :slightly_smiling_face:

For anyone interested in this issue I've posted an RFC which I think will help resolve this. Feedback on the RFC would be most welcome!

This is called dependencyManagement in maven, it's a common feature of many build tools.

Update for those landing here from a google search: @alexcrichton 's RFC (https://github.com/rust-lang/rfcs/pull/2906) was accepted and the tracking issue https://github.com/rust-lang/cargo/pull/8664 has serious momentum and is close to complete.

this is now supported in Cargo v1.64


Don't enforce tx fee as consensus rule

I'm unclear what the exact benefits of doing so would be but this is more in line with Bitcoin.
Of course just because bitcoin does it doesn't mean its a good idea.
Does anyone have any thoughts on this?
Its a simple change for a hardfork

The consensus rule is to require 0.0001 CLAM per kB isn't it? That's less than 1/25th of a US cent. Or in other words you can make a 25kB transaction for 1 US cent.
I think the consensus-enforced fee is small enough that removing it makes very little difference. When the block reward is fixed at 1 CLAM, or 10,000 times the fee-per-kB, the required fees are never going to be a significant to stakers. The maximum block size is 1000 kB, and so even a full block will only require 0.1 CLAM in fees, compared to 1 CLAM in staking reward.
The one thing a minimum fee does is makes it non-free to spam the blockchain. Not by much, but maybe by enough to discourage aimless spamming.

There was some talk that enforcing a per byte tx fee would make sense; given the promotion of CLAMspeech as a state machine/distributed DB platform.
The problem becomes making incentives that make sense.
You can't require additional per byte fee specifically for CLAMspeech. As dooglus has previously pointed out, this would only remove the utility that CLAMspeech offers, as users would simply then encode data into the chain in other ways.
The alternative then is to charge a static fee per byte, regardless of whether that byte is a part of the CLAMspeech platform or not.
Assuming someone was to create a token/currency on top of CLAMspeech, or some other type of application, you end up in a situation where the application "fee-loads" on the CLAM chain.  This is the rationale behind having some type of per byte fee that rewards staking full nodes and the network as a whole for the added chain weight.

This explanation was a bit dis-jointed, but I hope it outlined a few of the concerns/ideas surrounding consensus enforced fees.

Agree with all that. We pretty much already do have a per-byte fee - it's just that it's rounded up to the next multiple of 1000 bytes. We could change it so that the (minimum, compulsory) fee is 1e-7 CLAMs per byte instead of 1e-4 CLAMs per 1000 bytes (or part thereof) if that seems better. Or are you thinking that the fees should be increased? What is a reasonable amount to charge for storing a byte forever, on every full node's hard drive?

Ideally, I suppose, one would calculate the marginal cost of that storage and bandwidth now, and then extrapolate out via some mechanism like Moore's Law.
Despite the term being forever, I think it would be reasonable to stop this extrapolation once the long-term cost has fell to small enough portion of the resulting figure.
This way be demons and fuzzy silliness.

Free transactions do feel like pandora's box. BTC had a transaction attack lately because transaction fees are relatively low. The current fee indeed feels rather low and useless but even though I don't really like it to be increased, putting it to 0 just does not seem right. We might have a hard time getting it back in when we do need to increase transaction fees.

Re: https://github.com/nochowderforyou/clams/issues/221
I still personally believe that a unified change, which aligns competing incentives properly, would be the best case scenario.
The only way to properly account for the marginal long-term cost of chain storage would be to include time in the calculation.  This would effectively convert the "per-byte" fee into a "per-byte-per-block" fee.  Such a system would require CPP(child-pays-for-parent) or RBF; such that transactions could be re-broadcast if for whatever reason they were not included until after a time in which the originally included fee was no longer sufficient.

Will be handled as part of a larger effort to protect against DDoS/Bloat and align incentives, Re: https://github.com/nochowderforyou/clams/issues/221
Closing.


Content Group Simple is missing an data-autoid attribute for optional CTA

The problem
{{The Content Group Simple has an optional CTA.  We do not have a way to exclude all of the CTA markup.  There is a data-autoid on dds--card but that leaves unused markup.   We are currently using the one on dds--card  now so this is not a MVP blocker but needs to be cleaned up in the future )}}
The solution
{{Add data-autoid to where the class bx-content-group__cta-row  is defined so we can exclude content based on it when no CTA is included.}}
Additional information
{{Please provide any additional information or resources for reference}}

{{user research}}
{{user insights}}
{{user metrics}}

Defect review meeting:  This defect is the same as issue (#1747).  This missing data-autoid affects the analytics. Drupal can go into Production without this fix, but that will create technical debt on both their team and the Analytics teams. Requesting that we reconsider and include this fix in a patch. Delivery date of the patch would be Friday, April 3.

Because the placement of the autoid is not in the correct level, if the element is removed there is an additional 3px space.  Ask is to move the austoid 1 level up.

meeting with Ke:  The can go live with the MVP with this issue.
DDS:  added to April release.