Namespace the request-cache with the local node address

This is a quick hack to enable shared memcache support in a carbon cluster using replication factor >= 2. Appending the local node information to the hash key stored in memcache will prevent false positives from occurring while rendering (and caching) pickles for the upstream graphite-web responsbile for rendering the user specified format.
I don't love the implementation, but it seems to be working well in my limited tests. (Currently on an :airplane:, and I don't have a proper local cluster setup to test with.)
/cc https://github.com/graphite-project/graphite-web/issues/1022
/cc https://github.com/graphite-project/graphite-web/issues/1102
/cc https://github.com/graphite-project/graphite-web/issues/1037

@jssjr
@apg-pk propose another fix in PR #1278
Not sure which is better though...

I'd like to get this merged in, any lingering concerns or missing tests?

Really wondering if it's still needed after #1279 ...

@deniszh We seem to be dealing with two different problems. In #1279 we avoid negatively caching empty responses. Here in #1212 we're trying to avoid conflicting responses among memcached peers for the same metric.

So, then we need to merge it.
It looks good and have tests, and it's last issue in next release's milestone for graphite-web, yay!
@obfuscurity ? @jssjr ?

:boom:

:+1:
![:+1:]
(http://i.giphy.com/U45ze76aj7DvG.gif)


Add Chunked ORPO Loss

Summary

Adds chunked ORPO loss kernel

Testing Done

Benchmarks

References:

#227
https://gist.github.com/Chillee/22cd93e11b887db1f596ab754d60a899#file-lce_benchmark-py

Hardware Type:
[x] run make test to ensure correctness
[x] run make checkstyle to ensure code style
[x] run make test-convergence to ensure convergence

Great stuff! Most of my comments are around documentation, wondering if we should also include a benchmark script for this one!

@shivam15s great work! @pramodith thanks for the detailed review.
And yes, we should add the bench script


add tableRule test case

Fixes #ISSUSE_ID.
Changes proposed in this pull request:

Codecov Report

:exclamation: No coverage uploaded for pull request base (dev@0629fcd). Click here to learn what that means.
The diff coverage is n/a.

@@          Coverage Diff           @@
##             dev     #670   +/-   ##
======================================
  Coverage       ?   66.98%
======================================
  Files          ?      439
  Lines          ?     8258
  Branches       ?     1310
======================================
  Hits           ?     5532
  Misses         ?     2421
  Partials       ?      305

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 0629fcd...6bbc37a. Read the comment docs.


Method to return the Subreddits a user is a Moderator of.

Issue Description
I see that I can get a list of moderators from a given subreddit with this template:
subr= rd.subreddit('redditdev')
mods = [mod.name for mod in subr.moderator]

But there is no method in the PRAW documentation under the Redditor class where one can get the list of subreddits that a particular redditor is a moderator of.
If I missed it elsewhere or there is another way to get this info inside PRAW4, please let me know.
Thanks.
System Information
PRAW Version: 4.1
Python Version: 3.6
Operating System: Win 10

You can get such a list through the web interface on a user's page (e.g., https://www.reddit.com/user/spladug). However, I don't believe there is an endpoint in the API to retrieve such information. Please reopen and provide the the name of the endpoint if I'm mistaken.


Midnight Lizard Breaking Login Boxes' Text

Website :- https://omni.axisbank.co.in/axisretailbanking/
When I click on an username and password from autofill, it gets filled there but it doesn't show up because the text is in black and backgorund is black too.
Please guide me for fixing this.
Please refer to the attached image below ;
(Black text)

(But its there)

OS - Windows 11
Browser - FireFox v109.0b7
Region : India
Thankyou 👍

Also breaks login boxes at accounts.google.com

SEE !

Again
Same on sharekhan.com too

Now I figured out that it's breaking almost each and every login box.


Same init and destination text

It would be nice to be able to show the same text before the animation as afterwards.
So the text can flip on hover, for instance.

I'm pretty sure you can do this by autoplay to false (like the second example in the demo) then listening for a hover event with javascript. When that happens call the animate() function on that element.


Update interfaces & docs

Based on the Mozilla documentation - the File interface inherits from the Blob interface and therefore the union type is unnecessary.
The primary reason for raising this PR is I was receiving type errors in my code:
Type 'File | Blob' is not assignable to type 'File'.
  Type 'Blob' is missing the following properties from type 'File': lastModified, name

This change addresses this issue. closes #83

hi @Donaldcwl have you had a chance to review this code?


EKS Managed Node Group - Multiple network interfaces in different subnets

Description
Is this a capability within the module? Reading the EKS Managed Node Group module it appears subnet_id is commented out stating to do this at the node group level. By doing this I don't get multiple ENI's in different subnets. If I hard-set network_interfaces it creates them, but they all end up on the same subnet as I am unable to specify where to attach this.
Background: Looking at using Multus CNI in which eth0 will be used for control traffic and then two additional interfaces that multus can use for other networks.
I currently have three different node groups. Only one node group do I need particular interfaces added. With auto-scaling potentially with hundreds of nodes, this isn't something I would want to re-configure manually (assuming that is even an option).
Versions

Module version [Required]:

Terraform version:
v1.2.9

Provider version(s):
hashicorp/aws v4.33.0
hashicorp/cloudinit v2.2.0
hashicorp/helm v2.7.0
hashicorp/kubernetes v2.13.1
hashicorp/tls v4.0.3

I'm not sure which interfaces you are referring to - do you have a pseudo example config of what you are trying to achieve?

@bryantbiggs
I’ll try and get something somewhat moved over to put here later today.
I was reading last night that auto scaling groups don’t support adding new interfaces in different subnets so others have used lambda with hooks to add interfaces when they are pending. This isn’t ideal, but may be the only option.
The doc references multiple subnets per separate interfaces not supported for launch templates, which seems odd to me.

@bryantbiggs Here is a close version to what I was testing with. You can see the commented out interfaces, which when using that they create; however, all reside on the same subnet so I looked at other options.
Multus reference: https://aws.amazon.com/blogs/containers/amazon-eks-now-supports-multus-cni/
Auto scaling reference: https://aws.amazon.com/premiumsupport/knowledge-center/ec2-auto-scaling-multiple-network-interfaces/
It appears I may need to create a lambda function to do this; however, would be awesome to handle this here in this terraform template. If lambda is needed, then maybe I can get Terraform to deploy the components needed for doing this.
I tried adding control plane subnet ID's here and listing all subnets under the particular node group; however, didn't seem to do what I was working towards. There is essentially 3 node groups and only 1 of those node groups I was wanting to connect multiple interfaces on for Multus.
`
terraform {
required_version = ">=0.12.0"
}
provider "aws" {
region = var.region
}
data "aws_eks_cluster" "cluster" {
name = module.eks.cluster_id
}
data "aws_eks_cluster_auth" "cluster_auth" {
name = module.eks.cluster_id
}
provider "kubernetes" {
host                   = module.eks.cluster_endpoint
cluster_ca_certificate = base64decode(module.eks.cluster_certificate_authority_data)
token                  = data.aws_eks_cluster_auth.cluster_auth.token
}
module "eks" {
source                                = "terraform-aws-modules/eks/aws"
version                               = "18.30.0"
cluster_endpoint_private_access       = true
cluster_endpoint_public_access        = false
cluster_name                          = var.cluster_name
subnet_ids                            = var.cluster_subnets
control_plane_subnet_ids              = [var.cluster_subnets[0],var.cluster_subnets[1]]
vpc_id                                = var.cluster_vpcid
create_cluster_security_group         = false
cluster_security_group_id             = var.cluster_sg_id
create_node_security_group            = false
cluster_additional_security_group_ids = var.additional_sg_id
create_iam_role                       = false
iam_role_arn                          = var.cluster_role
enable_irsa                           = false
cluster_enabled_log_types             = ["api", "audit", "authenticator", "controllerManager", "scheduler"]
cluster_addons = {
coredns = {}
kube-proxy = {}
vpc-cni = {}
}
eks_managed_node_group_defaults = {
capacity_type                   = var.node_type
cluster_version                 = ""
cluster_primary_security_group_id = module.eks.cluster_primary_security_group_id
cluster_security_group_id       = module.eks.node_security_group_id
enable_bootstrap_user_data      = true
pre_bootstrap_user_data = <<-EOT
echo "Updating packages..."
yum update -y
EOT

create_iam_role                 = false
iam_role_arn                    = var.node_role
create_security_group           = false
vpc_security_group_ids          = distinct(concat([module.eks.cluster_primary_security_group_id, module.eks.node_security_group_id], var.vpc_sg))
ami_id                          = var.node_ami
instance_types                  = ["t3.2xlarge"]
create_launch_template          = true
min_size                        = 0
max_size                        = 100
desired_size                    = 1
tags                            = {"Terraform": "true"}

}
eks_managed_node_groups = {
one = {
name                        = "control"
labels                      = {"role": "control"}
subnet_ids                  = [var.cluster_subnets[1]]
}
two = {
  name                        = "user"
  labels                      = {"role": "user"}
  subnet_ids                  = [var.cluster_subnets[0], var.multus_subnet_1, var.multus_subnet_2]
  # network_interfaces = [
  #     {
  #       device_index = 0
  #       description = "Default interface"
  #       associate_public_ip_address = false
  #       subnet_id = var.cluster_subnets[0]
  #     },
  #     {
  #       device_index = 1
  #       description = "Default interface 2"
  #       associate_public_ip_address = false
  #       subnet_id = var.cluster_subnets[0]
  #     },
  #     {
  #       device_index = 2
  #       description = "Multus-Net1 network interface"
  #       associate_public_ip_address = false
  #       subnet_id = var.multus_subnet_1
  #     },
  #     {
  #       device_index = 3
  #       description = "Multus-Net2 network interface"
  #       associate_public_ip_address = false
  #       subnet_id = var.multus_subnet_2
  #     }
  # ]
}

three = {
  name                        = "proxy"
  labels                      = {"role": "proxy"}
  subnet_ids                  = [var.cluster_subnets[0]]
}

}
manage_aws_auth_configmap = true
aws_auth_roles = var.auth_roles
tags = {
Terraform = "true"
}
}
`

Ideally, it would be cleaner if Flannel worked cleanly with EKS and the ability for Multus to add secondary interfaces that leverage VXLan over the infrastructure; however, it appears you have to do some hacky stuff just to get Flannel even functional at all for EKS.
I looked into using Weave w/ multus, but ran into issues in which the overlay interface created is named the same and fails.
With this needing to be portable between environments, maybe Multus can be used with bridge interfaces and pinning pods to run on the same physical node. The issue then comes to properly autoscaling.

Ah ok, so it is instance ENIs. Yes, with EKS managed node groups, the EKS managed node group controls the subnet IDs (see here) and therefore the launch template cannot specify subnet IDs or you will get an error message like this
Error: error creating EKS Node Group (ex-eks-managed-node-group:custom_ami-2022100417330923390000001a): InvalidParameterException: You must not specify a subnet in your launch template. All subnets must be specified in the API.
│ {
│   RespMetadata: {
│     StatusCode: 400,
│     RequestID: "4d6ade05-cbb1-4634-88cc-7a0d2c929e32"
│   },
│   Message_: "You must not specify a subnet in your launch template. All subnets must be specified in the API."
│ }

If you want to still set things up this way, you can instead utilize the self-managed nodes which do support the ENI configurations as you have demonstrated https://github.com/terraform-aws-modules/terraform-aws-eks/blob/7f901840c430c0b631cc4066a87779b915a07524/examples/self_managed_node_group/main.tf#L191-L199


Fix Airer.dryer switch for lumi.airer.acn01 in LAN mode

Hi @al-one!
This fix changes the behavior of the switch "Airer Dryer".
Without it, it doesn't work properly. After the switch state is set manually to "on", the next time the status is updated, its state switches to "off".
I don't really know the architecture of your component, so I ask you to use this code as a concept and fix this issue.
Thanks.

Works fine.
Thanks!


Fix AWSJobStore updates not working if values are shrunk

AWSJobStore persists its data as SimpleDB "items", which are basically just dictionaries. It converts arbitrary binary data to uuencoded values, chunked across multiple keys if necessary (when the binary data is larger than the maximum value size). It ends up looking something like this:
{'000': ''VQsomeuuencod', '001': 'eddatawhichis', '002': 'split=='}

It then uses the PutAttributes method in SimpleDB to store the data. There's no problem the first time a fresh item is created. But there are massive problems when an item is changed rather than created (through AWSJobStore.update or .updateFile). PutAttributes updates only those attributes that are specified in the request. So shrinking the above file to something that encodes to "shorterunpaddedvalue" may end up doing something like this:
{'000': "shorterunpaddedvalue", "001": "eddatawhichis", "002": "split=="}

That is, the jobStore only attempted to update the key 000, so the other chunks still exist and represent stale data. This is really, really bad. Thankfully, the bug doesn't actually trigger most of the time, because when the data is compressible it's encoded with bzip2, which silently discards all trailing unexpected data. In that case, you don't get any weird stale data after your new data. But if the data happens not to be compressible, this bug triggers and gives very surprising results.
Separately, a similar bug also affects the AWSJobStore "overlarge jobs". These are jobs that are stored in S3 because they're too large to store in a single SimpleDB item. The "overlargeID" key indicates the presence of an overlarge job. But, again, when shrinking a previously-overlarge job to be smaller than the "overlarge boundary", we don't provide the "overlargeID" key in the SimpleDB request, meaning that the "overlargeID" will still be present despite pointing to old data. The next read will give stale data.
Reading stale data for jobs / files affects the correctness of your Toil workflow. Workflows run without --disableChaining are especially vulnerable since their jobGraphs are updated more often. This can result in jobs being marked as completed even when they haven't yet succeeded.
This PR fixes all of the above (according to the tests.  testing on a large pipeline now), and adds a new regression test to that shrinking a job doesn't yield stale data.

This looks good and I'm guessing will pass once the conflict in src/toil/jobStores/aws/utils.py is resolved.  @joelarmstrong did this need any other changes?

Awesome, thanks @joelarmstrong !  Will merge once the tests pass.


Create 2022-10-17-Lancium Donates More than 45 Million Core Hours to …

…OSG Consortium
Lancium press relase

Close in favor of #83


Test should ignore whitespace

Challenge Override All Other Styles by using Important has an issue.
User Agent is: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:51.0) Gecko/20100101 Firefox/51.0.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

Hello World!

Similar to #8511, test is not whitespace tolerant.

@BlauFeuer thanks for the issue. Yes, the test should be able to accommodate for spaces.
This line of code needs to be changed so that the regex is changed so that it allows zero or more spaces between !important and the semicolon.
- /\\.pink-text\\s*?\\{[\\s\\S]*?color:.*pink.*!important;[^\\.]*\\}/g
+ /\\.pink-text\\s*?\\{[\\s\\S]*?color:.*pink.*!important\\s*;[^\\.]*\\}/g

This is my first attempt to request a pull for FreeCodeCamp, however I have previously done this 2 or 3 times since joining GitHUB a few months ago - if I do not qualify as a first-timer because of that experience, it was still good practice.  Thanks for taking a look at it.

@BlauFeuer just a heads up, your PR might get blocked because the branch name needs to start with fix/ or feature/
The contributing documentation is here: https://github.com/FreeCodeCamp/FreeCodeCamp/blob/staging/CONTRIBUTING.md

@dhcodes To address guideline #3: Is there a way to rename a branch via GITHUB?  I'm somewhat aware that I don't know what I'm doing; I only successfully got to step #2 of Contributing Guidelines. From there it all looks like jargon. I'm not sure how a "first-timer" could mange to follow all those guidelines.

@BlauFeuer You should be able to rename your current branch using:
git branch -m new_branch
while on the branch you want to rename locally.
Then you can re-push your changes with a git push -u origin fix/branch-name-here --force.
As for the guidelines, I think they do a good job of providing a first-timer with a full git experience which can be helpful to someone just getting into contributing.


[cli] package manager selection

I think it would be extremely useful if the user could select the package manager of their choice

@Randall71 Currently, you can pass whichever package manager you'd like by passing in --npm, --yarn, --pnpm, or --bun. Did you mean that you'd like it to be part of the core CLI? If so, should it be the first question or one of the last ones?

Now available in v2.3.2

Hi, sorry for the delay in reply, I was expecting it to be the latest one like what you did, but I see that when you use the latest one and choose another package it uses npm again.

I'll look into this today, thanks for flagging

@Randall71 do you end up with a yarn.lock or a package-lock.json for that project initialization?

@Randall71 can you try again with v2.3.3

Just test, all is good now


⚠ Bofrost.at has degraded performance

In 0fbb5d8, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1447 ms

Resolved: Bofrost.at performance has improved in 20afc87 after 9 minutes.


Value generator enum support

Q
A

Documentation
no

Bugfix
no

BC Break
no

New Feature
yes

RFC
no

QA
no

Description
This patch enables support for enumerations in ValueGenerator, which is currently missing. It is needed to properly generate proxy classes which have enums as default values in method arguments.

ok, I have no idea why the static analysis check doesn't work, but it seems like an error in psalm

Beware that static analysis runs on PHP 7.4.

BTW, dropping PHP 7.4 support is also pretty much OK.

@Ocramius what are you suggesting for me to do? I'm not sure what exactly you mean. should I do the 7.4 support drop? I know that the check runs on 7.4, but the code works even on 7.4 so I'm not sure what to do right now.

Yeah, try removing 7.4 from composer.json (and update the config.platform)

ok so I did what I could but psalm doesn't seem to work correctly

I think the patch is sound, but in order to raise us to enum support, we'd have to drop PHP 8.1 too.
Psalm correctly infers that the codebase should be verified with PHP 8.0 (compatible):
Run vendor/bin/psalm  --output-format=github --shepherd --stats
Target PHP version: 8.0 (inferred from composer.json)

Unsure what to do here, will need to think about it.

yes, that is why I didn't want to do anything more proactively. I'll be waiting for feedback.

Unsure what to do here, will need to think about it.

hey @Ocramius , how about this patch? Is there any ETA?

No ETA - haven't worked on this yet.

Couldn't push to your fork, so I created #166 instead.
Note how I fixed a bad bug (TM) where the generated value wasn't considering the current namespace :D

Thanks @Rastusik!

Note how I fixed a bad bug (TM) where the generated value wasn't considering the current namespace :D

nice :D
thanks for merging @Ocramius


helm chart missing tolerations

Hi,
Helm chart deployment is missing tolerations. Can these be added please? Happy to submit a PR too.
https://github.com/slok/sloth/blob/main/deploy/kubernetes/helm/sloth/templates/deployment.yaml

Hey @anwaramoon.
Non of the current users of Sloth had this need, however, happy to review the PR :)

@slok Please review PR #319 to add tolerations.

@slok  any chance for merging chart related PRs and release new version of helm chart soon? Thanks

Done! apologies for the delay. Thanks for the patience and the PR :smile:
Fixed in #319.


Build docs locally and on readthedocs

Looks like sphinx has already been set up for this repo, and there is a GitHub action to automatically build. However, there are no instructions on how to build the documentation locally, and there doesn't seem to be a readthedocs integration configured for this repo.
Would be nice to set this up quickly, as there's already some documentation being generated from #12 (and doctests being run, cool stuff!)

On the README there's a header "documentation" which says:

Include a link to your project's full documentation here.

Instructions for setting up readthedocs:

Go to https://readthedocs.org
log in with github
import a project
find this repo in the list
...

the command for building docs locally is: python setup.py build_sphinx

The sphinx doc is now integrated with the readthedoc server. The way to set it up is given here.

Nice! If we can add some instructions on building the docs locally to the CONTRIBUTING.md guidelines then this issue can be closed.

Nice! If we can add some instructions on building the docs locally to the CONTRIBUTING.md guidelines then this issue can be closed.

It has already been mentioned in README.dev.md (see the section "Generating the API docs"). But the docs are still a bit chaotic. I think later on we need to restructure it somehow, to make it more organized.

Okay, then this can be closed :-)


Retention Time

The retention time condition is not working as expected. Keep it in mind for when using the code and make sure to take a quick look at each RT in the final "comps" data frame.

Issue has been resolved with multiple (and ugly) if statements

Issue has been resolved by using multiple (and ugly) if statements


Issue #20 - Add developer tools to template project

Summary*
Add black, flake8 (and some plugins), and mypy to python template repo
along with some hopefully sane default configuration. Update README to
point users at setup.cfg instead of setup.py and elaborate on dev
tool use.
Clean our template files so they pass black, flake8, and mypy without
errors / warnings.
Resolve #20
Test Data and/or Report
Tools run clean on our repo now:
(pds-template-repo-python) > $ black src
All done! ✨ 🍰 ✨
3 files left unchanged.

(pds-template-repo-python) > $ flake8 src

(pds-template-repo-python) > $ mypy src
Success: no issues found in 3 source files

Note, this has #8987ecd from #21 since it depends on it. I'll rebase that out if necessary once #21 is merged.


Total of column in serverSide

Summary of problem or feature request
Example, i have columns TTC,HT, and after searching, i would like add up each column (TTC,HT) to show the total in html
Can you help me ?
System details

Operating System
PHP Version 7.0
Laravel Version 5.4
Laravel-Datatables Version ^7.4

See some duplicate issues for ref. Thanks!
https://github.com/yajra/laravel-datatables/issues/809
https://github.com/yajra/laravel-datatables/issues/648

Thanks for your answer :-). It's help me


Default agent name to be %hostname-%n

Whilst writing the Ubuntu docs for running multiple agents on the one machine I realised we could skip the "don't forget to update the name in your config file" if we made the default value of name to be %hostname-%n.
Also the problem with my-agent-%n and the new cfg format is that you can't specify %hostname-%n, so perhaps we need to add that too?

This is done now! :dancer:


Responsive Variants in Tailwind CSS v4

Since upgrading to Tailwind CSS v4.0.0.alpha.25, I am encountering issues with the withTV function from tailwind-variants. When I include withTV in my tailwind.config.js, the entire application breaks. However, if I remove it, the application works fine, but I lose the ability to use Responsive Variants.
My project is structured using Turborepo v2.1.2 and Next.js v14.2.13, with the following folder structure:

apps/web for the main application
packages/ui for shared components

To Reproduce

Install Tailwind CSS v4
Create a global CSS file
Add tailwind.config.js
Add withTV function to the tailwind.config.js file
Import the configuration in CSS
Run the application

Expected behavior
I expected the withTV function to work as it did in previous versions of Tailwind, enabling Responsive Variants without breaking the app.
Desktop

OS: macOS
Browser Arc
Version 1.61.2

Additional context
In Tailwind v4, the configuration file is no longer necessary as everything can be handled through native CSS. However, while migrating, I was still using the tailwind.config.js file and importing it into my CSS like this:
@import "tailwindcss";
@config "../../tailwind.config.js";

It seems that the withTV function is not compatible with the new Tailwind v4 setup. Removing withTV resolves the issue but breaks Responsive Variants.

@guidominguesnk only responsive variants are not working? the rest of things works well?

It seems that transformers are not supported in v4, as a workaround I use tvTransformer as a simple vite plugin
// vite.config.ts
import tailwindcss from '@tailwindcss/vite'

import { tvTransformer } from "tailwind-variants/transformer"
import tailwindConfig from './tailwind.config'

function tvTransform():PluginOption {
  return {
    name: "tv-transformer", transform(src, id) {
      if (/\.[jt]sx?$/.test(id)) {
        return {
          code: tvTransformer(src, Object.keys(tailwindConfig.theme.screens)),
          map:null
        }
      }
    }
  }
}

export default defineConfig({
  plugins: [tvTransform(), tailwindcss()]
})

Is there any update on this?


Karma: improve error output

Task Description

Error output in Karma tests ought to be improved by #6900 / #6545, but it doesn't seem to work as expected or is not good enough yet.
We don't need all this bloated error output on CI, making the logs impossible to use.

Regarding the Blocked attempt to create a WebMediaPlayer as there are too many WebMediaPlayers already in existence. See crbug.com/1144736#c27 warning, it sounds like we could do a better job with cleaning up media players after tests, e.g. by setting mediaElement.src = ''. See https://bugs.chromium.org/p/chromium/issues/detail?id=1232649#c18
We also might be able to set --max-web-media-player-count=<some high number> as a workaround.

See https://www.google.com/url?q=https://github.com/google/web-stories-wp/issues/6545&sa=D&source=docs&ust=1642650256956628&usg=AOvVaw1JW9yfhVOGbzDxJx_Pb1wG for more context


2018-04-04 Node.js Badges Meeting

Time
UTC Wed 04-Apr-2018 15:00 (03:00 PM):

Timezone
Date/Time

US / Pacific
Wed 04-Apr-2018 08:00 (08:00 AM)

US / Mountain
Wed 04-Apr-2018 9:00 (9:00 AM)

US / Central
Wed 04-Apr-2018 10:00 (10:00 AM)

US / Eastern
Wed 04-Apr-2018 11:00 (11:00 AM)

London
Wed 04-Apr-2018 16:00 (04:00 PM)

Amsterdam
Wed 04-Apr-2018 17:00 (05:00 PM)

Moscow
Wed 04-Apr-2018 18:00 (06:00 PM)

Chennai
Wed 04-Apr-2018 20:30 (8:30 PM)

Hangzhou
Wed 04-Apr-2018 01:00 (11:00 PM)

Tokyo
Thur 05-Apr 2018 00:00 (12:00 AM)

Sydney
Thur 05-Apr-2018 04:00 (01:00 AM)

Or in your local time:

https://www.timeanddate.com/worldclock/fixedtime.html?msg=Node.js+Badges+Meeting+2018-04-04&iso=20180405T15
or http://www.wolframalpha.com/input/?i=03PM+UTC%2C+Apr+04%2C+2018+in+local+time

Links

Minutes Google Doc: TBD

Agenda

Set Up a Badge Issuer Account #3
V1 Badges List #8
Badge / Pathway RFC process and template #4
Node.js Badges Illustration Style Guide #7
Github + Badger API Integration for Automated Awarding #9

Invited
Badges Team Members

@amiller-gh - Adam Miller, Community Committee Champion
@maddhruv - Dhruv Jain
@ryzokuken - Ujjwal Sharma
@Tiriel - Benjamin Zaslavsky

Joining the meeting

link for participants: Will be added a few minutes before meeting starts
For those who just want to watch:
youtube admin page: https://www.youtube.com/my_live_events?filter=scheduled

Can we shift this on Thursday? April 5

If you're able to, sure 👍 @ryzokuken marked himself as available at this time for Thursday.

We will have a very hard stop at 9:00 though, that is when the general Community Committee meeting begins.

@amiller-gh If anyone of us can't make it on Wed for some reason, then I could free up some time on Thursday instead, it's okay.

Updated to Thurs, 15:00-16:00UTC 👍 Look forward to seeing everyone there!

Sorry I couldn't make it, lots to do today :S

Meeting minutes merged in #17 👍


How to use a subdomain without having to enter the "/_" after to get to the admin page?

I am using NGINX. I currently have pocketbase working with a subdomain admin.website.com, but I need to do admin.website.com/_ in order to reach the admin page. How do I make the admin portal work without the "/_" at the end?
Here is my server:
server {
    listen 80;
    server_name admin.website.com;
    client_max_body_size 50M;

    location / {
        proxy_set_header Connection '';
        proxy_http_version 1.1;
        proxy_read_timeout 360s;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_pass http://<IP_ADDRESS>:3000;
    }
}

Thanks!

I don't think this is PocketBase related.
You can either try to change the address in the proxy_pass directive or use a rewrite rule.


Port to libsass

This PR migrates from ruby-sass/compass to libsass

Adding Node.js
Adding Gulp
Adding libsass

:+1:

What about @jrief's idea of prepocessing the css at build time? Is setuptools up to the task of running gulp through setup.py? I'm considering this workflow for my own projects, but so far I have been lazy and kept my generated css under version control.

@driesdesmet our approach is to compile the css either on deployment, or as soon as you run the server through a Makefile. We did that already for sass/compass (as there are packages available) though it's an entire thing with libsass (as autoprefixer support is missing) so it requires you to have node installed on the server (still far more preferable than ruby for us).
You can check a good example here: https://github.com/divio/django-cms-demo

@driesdesmet storing autogenerated files in a VCS is bad practice. Therefore my proposal for external  CSS- and JS-libraries, which are available via bower or npm, is to only keep a reference to those libs via bower.json / package.json. On the final system these packages then can be installed via Python using  https://github.com/jrief/django-nodebow
Well, its not pure Python, because it uses PyExecJS, but at least you get one single entry point in your Django's ./manage.py. Unfortunately, PyExecJS has some issues with bower prompting in case of version mismatch. Therefore, when I have some time, I'll change it to a Python system call.

@FinalAngel I hadn't come across that demo. Thanks for the link. So, 'make' as another tool on top of gulp. Interesting. I had considered it, but didn't want to learn Make syntax (although it doesn't look that complicated from your example). Ideally I'd like to limit the tools I need to maintain, or learn them once and then forget about them: django's management commands, Make, gulp, Fabric, python packaging... that list is getting long. Now I've started throwing docker into the the mix...
@jrief I haven't looked at your project, but I will. It's comforting at least to know that other people find that there is room for improvement. However, I'm also cautious about tools that are wrappers around existing tools. You often end up learning the underlying tools, which defeats the purpose. Take django-bower for example. It works well, but keeps relying on node. I can't do the 'bower install --save' thingy. Then I wondered, bower is just a repo with static files to download, could those package be on pypi as well, with a bower prefix for example?
I know I'm throwing a lot of different purpose things on one pile here. I just wanted to vent my slight frustration that it all feels complicated, far more complicated than writing actual django code.

@driesdesmet thats why we decided on having some ground rules on how to run things (https://github.com/divio/divio-architect). Having all those commands - depending on which field you are coming from - it's tricky to learn and handle them properly.
We use the Makefile for mainstreaming all those processes into a few simple commands. Each department then has their own set of "meta" tools. But in the end backend doesn't have to worry how frontend builds their stack, you just have to run make install or make run.

@driesdesmet
this discussion is interesting, but becomes off-topic on this channel. Please start an issue by copy&pasting your concerns onto  https://github.com/jrief/django-nodebow/issues , so that we can proceed there.


meta: bless obviously wanted dependencies

Change Description
This updates our CI lint config for depguard to reduce noise. The initial commit includes explicit blessings for obviously wanted dependencies:

go standard libraries
anything in lightningnetwork
anything in lightninglabs
anything in btcsuite

After explicitly permitting these package hierarchies, the following dependencies are still considered sus:

andybalholm/brotli
davecgh/go-spew/spew
decred/dcrd/dcrec/secp256k1/v4
go-errors/errors
jessevdk/go-flags
stretchr/testify/assert
stretchr/testify/mock
stretchr/testify/require
urfave/cli

I'm soliciting opinions from the LL elder wizards about whether we would like to bless these as well, or remove them.
My initial inclination is to add all of the stretchr/testify packages to the list as well since we intentionally make significant use of them. The decred dependency seems especially sus to me given that it has potentially adversarial incentives and is including cryptography implementations. The rest I'm unsure.
Steps to Test
$ golangci-lint run both before and after this commit series.
Pull Request Checklist
Testing

[ ] Your PR passes all CI checks.
[x] Tests covering the positive and negative (error paths) are included.
[x] Bug fixes contain tests triggering the bug to prevent regressions.

Code Style and Documentation

[x] The change obeys the Code Documentation and Commenting guidelines, and lines wrap at 80.
[x] Commits follow the Ideal Git Commit Structure.
[x] Any new logging statements use an appropriate subsystem and logging level.
[x] Any new lncli commands have appropriate tags in the comments for the rpc in the proto file.
[x]  There is a change description in the release notes, or [skip ci] in the commit message for small changes.

📝 Please see our  Contribution Guidelines for further guidance.

No strong opinion on this, as I didn't encounter these warnings anywhere so far.
Here are my two cents about the other dependencies:

andybalholm/brotli --> only used in a single place, can perhaps add a //nolint directive there?
davecgh/go-spew/spew --> yes, makes sense to bless
decred/dcrd/dcrec/secp256k1/v4 --> yes, makes sense to bless
go-errors/errors --> should not be used anymore, can use the errors package from stdlib
jessevdk/go-flags --> can conditionally bless for any files under cmd/lnd?
stretchr/testify/assert --> can conditionally bless for any *_test.go files? Same for those below.
stretchr/testify/mock
stretchr/testify/require
urfave/cli --> can conditionally bless for any files under cmd/lncli?

Agree with Oli here, I also have no super strong opinion. Maybe one issue with the depguard is that now for any added dependency we'd need to modify the yaml too besides just the go.mod. Other than that LGTM!

which version is this linter? Tried golangci-lint run locally and saw nothing new...

No strong opinion on this, as I didn't encounter these warnings anywhere so far.
Here are my two cents about the other dependencies:

andybalholm/brotli --> only used in a single place, can perhaps add a //nolint directive there?
davecgh/go-spew/spew --> yes, makes sense to bless
decred/dcrd/dcrec/secp256k1/v4 --> yes, makes sense to bless
go-errors/errors --> should not be used anymore, can use the errors package from stdlib
jessevdk/go-flags --> can conditionally bless for any files under cmd/lnd?
stretchr/testify/assert --> can conditionally bless for any *_test.go files? Same for those below.
stretchr/testify/mock
stretchr/testify/require
urfave/cli --> can conditionally bless for any files under cmd/lncli?

ACK on all I'll incorporate this.

Agree with Oli here, I also have no super strong opinion. Maybe one issue with the depguard is that now for any added dependency we'd need to modify the yaml too besides just the go.mod. Other than that LGTM!

I'm willing to disable depguard entirely! I was proceeding under the assumption that it is wanted. I'd imagine @Crypt-iQ might have something to say about this.

Ok right now it looks like conditional blessing is really really painful so I'm going to just not. I'm hoping that's OK for the time being.

Ok looks like I fixed my own problem by just pinning golangci-lint to 1.52.2 which is what is in lnd-tools.


chore: Use logrus for logging instead

As we are depending on gitops engine which uses logrus. It would be good to unify the logging and use logrus instead.
          Yeah, unfortunately gitops engine requires logrus. We can probably have an issue to move to logrus for our normal logging as well.

Originally posted by @xdevxy in https://github.com/numaproj-labs/numaplane/pull/124#discussion_r1512266789

logrus has stepped down, use zerolog or zap instead.


Provide error when debugger isn't started

When debugging an XCTest that fails to build the debugger promise rejects but did not provide an error. The undefined error is caught and passed to getErrorDescription which fails to read stderr off of it. This caused another error to be thrown and caught at the top level, showing a dialog.
Throw an error string instead of undefined, and handle the undefined error case in getErrorDescription.

If a build fails and I click on debug anyway in the dialog, it doesn't run the debug anymore

So it works for me IFF it succeeded building before. So if delete .build and try to debug the test with build errors, even if I click Debug Anyway, the LLDB extension bails on the debug session. But if the build succeeds once and then introduce the error, then Debug Anyway runs

I've broken out the build step when debugging and if there is a failure we exit before the debugger is started, sidestepping this issue.


kubeContext isn't respected when using the template command

When running helmfile -e <your_env> template while using the kubeContext default value in a helmfile root (or release) the context value isn't being respected. It does work fine on both accounts for diff, sync and apply.

@corradomatt Could you try running helmfile with helmfile --log-level=debug <SUBCOMMAND> to print the executed commands?
I believe this is issue in helm cuz I see --kube-context is passed from helmfile to helm as expected.

Or... are you by any chance using helm-tiller like helm tiller run -- helmfile? Then it seems like a bug in helm-tiller. You can alternatively use helm 3 so that you don't need helm-tiller.

After re-reading my initial report, it might have been user error on my part since the template function shouldn't need to worry about the kube context.
I've also updated to the latest version of Helm and Helmfile I don't see any issues so I'm going to close this. Thanks!


Getting an error when manually adding astronomy class

I have a reactive join in a publication where I'm manually adding (using this.added()) an object that is an Astronomy class to the publication.  This seems to be working, except that on the client side it is generating the following error:
Uncaught TypeError: self._errors.all is not a function at line 279 of init_module.js
It appears to be when the client is attempting to add the object to the local database, though I'm not sure.  Any ideas?
 It's only used in getValidationErrors method, so probably you're doing something wrong in your template. Show the code of your template.

At the beginning I thought that it can't outside of the template but I've noticed that I'm using it to stringify validation errors while sending it over DDP. You would have to create reproduction repository, because right now it' hard to predict what can cause this error. It's probably a problem with astronomy.

Will work on it.

+1
I was getting this error in production and not development so had to remove the whole package to get it to work properly

Reproduction repository could help with solving this issue. Right now I can't check it out.

@jagi Is it possible that Astronomy doesn't work with publish-composite?

You need to disable transformation function in publication.
Collection.find(selector, { transform: null });

@jagi Thanks, that was it. Just one more question: If I post a new answer, the username on the first answer is always empty. All other answers below show the username. If I refresh the page, I can see all usernames fine. I get the username by relation.

Hmmm that is probably a bug in relations module that was causing a cache to not be cleared after reactive update. To be honest I don't have time right now to take a look at it as I'm working hard on Astronomy 2.0 which will have relations module built in in 2.1 version. You may try clearing a cache for now by calling:
doc._references = {};

Let me know if it works


Adding ability to set kube config from a dict.

Added a function called load_kube_config_from_dict(), adding the ability to set the ~/.kube/config file from a dict.
Required where kubeconfig is stored externally and saving to disk is not an option.
Usage
import yaml
import kubernetes
from os.path import expanduser
config_dict = yaml.load(expanduser("~") + "/.kube/config")
kubernetes.config.load_kube_config_from_dict(config_dict)

/assign @yliaog

please add tests for the change to kube_config_test.py

Codecov Report

Merging #195 into master will decrease coverage by 0.81%.
The diff coverage is 60.97%.

@@            Coverage Diff             @@
##           master     #195      +/-   ##
==========================================
- Coverage   92.69%   91.88%   -0.82%
==========================================
  Files          13       13
  Lines        1519     1552      +33
==========================================
+ Hits         1408     1426      +18
- Misses        111      126      +15

Impacted Files
Coverage Δ

config/kube_config.py
81.95% <52.38%> (-1.53%)
:arrow_down:

config/kube_config_test.py
94.60% <70.00%> (-0.99%)
:arrow_down:

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 49ec060...3ed1f12. Read the comment docs.

@yliaog I've added Some test cases, they are similar to the load_kube_config test cases.
Instead of passing the yaml files I've passed them as a dictionary.

Codecov Report

Merging #195 into master will decrease coverage by 0.07%.
The diff coverage is 86.95%.

@@            Coverage Diff             @@
##           master     #195      +/-   ##
==========================================
- Coverage   92.69%   92.61%   -0.08%
==========================================
  Files          13       13
  Lines        1519     1557      +38
==========================================
+ Hits         1408     1442      +34
- Misses        111      115       +4

Impacted Files
Coverage Δ

config/__init__.py
100.00% <ø> (ø)

config/kube_config.py
83.29% <76.19%> (-0.20%)
:arrow_down:

config/kube_config_test.py
95.61% <96.00%> (+0.01%)
:arrow_up:

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 49ec060...6c32737. Read the comment docs.

/cc @yliaog

/lgtm
/approve


[Feature] Rename unique_key to unique_columns or merge_on_columns

Is this your first time submitting a feature request?

[X] I have searched the existing issues, and I could not find an existing issue for this feature

Describe the feature
Maybe this is not needed but for me it was not clear that in a iceberg merge model unique_key takes a list of values.
The issue I had is that the target table got more or less a full scan if I only provide my unique_key column (200 GB per run). Now that I added a list of columns: my unique key AND my partition columns the scan of my target table went down to like 30 GB per run. So each run went from 1 $ to only 0.15 $.
The incremental_predicates did not really help reducing the scan limit, cause I cannot hard code a date range in my model due to inital runs (splitting the src data into chunks with the __PERIOD_FILTER__ macro.
Or we need to update the documentation a little. Do explain that the unique_column is just doing a matching on clause based on the provided column(s).
Hope it is clear, what my issue/concern is.
Describe alternatives you've considered
Rename the unique_key paramter to e.g. merge_on_columns. Maybe someone has a better name for that.
Who will this benefit?
Everyone using incremental iceberg models
Are you interested in contributing this feature?
Sure
Anything else?
No response

👋🏻 Hello
Thanks for raising this issue. I am not sure we should go down this renaming because unique_key is what is available in dbt documentation when it comes to merge incremental models (https://docs.getdbt.com/docs/build/incremental-models).
If we look at dbt-athena documentation (https://dbt-athena.github.io/docs/configuration/materializations/iceberg#incremental-tables) it is stated:

unique_key (required): columns that define a unique record in the source and target tables.

We can change columns to something more meaningful like column or list of columns but I am not in favour of renaming unique_key.
What do you think @nicor88 @svdimchenko ?

Absolutely agree with @Jrmyy, we should use a canonical name used across adapters.
And yes, we could improve docs to make it more clear, even providing an example on the query that is generated.

Okay, then I will take care of the docs I guess :)


App store problem

ITMS-90338: Non-public API usage - The app references non-public selectors in Frameworks/FLEX.framework/FLEX: _canPerformAction:forCell:sender:, _performAction:forCell:sender:, _tableView. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/

Duplicate of #298


Mark HD for path element ctor.

Fix compilation error on CUDA 11.

I thought xgboost CI would have caught this?


Github page setup

Setup github page with custom domain for the project

Done.
URL https://kuhakt.techinducers.com/

verified


Error when drag and dropping a file with a comma in the filename

Edit by @rsese to add generic repro steps
In safe mode:

Create a new file and save it with a comma in the filename e.g. test,file.txt
Create a directory called mydir
Drag and drop the file from step (1) to the directory in step (2)

Using a comma in a filename isn't illegal as far I found but seems like not the safest choice?  Assuming we're ok allowing commas in filenames, expected behavior is that the file is dragged successfully to a directory.  Actual behavior is the file isn't moved and you get the error below.
Also noticed that cutting/copying and pasting does nothing but no error is thrown.

[Enter steps to reproduce:]

...Created new folder
...Selected files to move
Moved files to new folder which caused error ENONET

Atom: 1.32.0-beta1 x64
Electron: 2.0.9
OS: Mac OS X 10.13.6
Thrown From: Atom Core
Stack Trace
Uncaught Error: ENOENT: no such file or directory, lstat '/ Enterprise Edition- The Jav….webloc'
At fs.js:1661

Error: ENOENT: no such file or directory, lstat '/ Enterprise Edition- The Jav….webloc'
    at Proxy.realpathSync (fs.js:1661:15)
    at Proxy.fs.realpathSync (ELECTRON_ASAR.js:336:29)
    at TreeView.t.exports.TreeView.moveEntry (/private/var/folders/7t/cw1b31zd3752f756cj9zxnmh0000gp/T/AppTranslocation/C41D32F4-F4D3-441A-A6ED-CF9BF6788BC6/d/Atom Beta 1.32.app/Contents/Resources/app/static/<embedded>:14:916037)
    at TreeView.t.exports.TreeView.onDrop (/private/var/folders/7t/cw1b31zd3752f756cj9zxnmh0000gp/T/AppTranslocation/C41D32F4-F4D3-441A-A6ED-CF9BF6788BC6/d/Atom Beta 1.32.app/Contents/Resources/app/static/<embedded>:14:921791)
    at HTMLDivElement.<anonymous> (/private/var/folders/7t/cw1b31zd3752f756cj9zxnmh0000gp/T/AppTranslocation/C41D32F4-F4D3-441A-A6ED-CF9BF6788BC6/d/Atom Beta 1.32.app/Contents/Resources/app/static/<embedded>:14:895702)

Commands
     -1:33.8.0 application:add-project-folder (input.hidden-input)
     -0:44.5.0 tree-view:add-folder (span.name.icon.icon-file-directory)
     -0:39.7.0 core:confirm (input.hidden-input)

Non-Core Packages
asciidoc-assistant 0.2.2
asciidoc-image-helper 1.0.1
asciidoc-preview 2.12.1
autocomplete-asciidoc 0.1.2
build-make 0.13.0
language-asciidoc 1.11.0

Isolated the file that cause the exception. A web shortcut:
35.2 Developing Embeddable Enterprise Bean Applications - Java Platform, Enterprise Edition- The Jav….webloc

renaming the file to:
35.2 Developing Embeddable Enterprise Bean Applications.webloc
solved the issue.

Thanks for the report - I feel like there's an existing issue for this somewhere but couldn't find one.  Looks like the issue is with ,, if I create a file just called test,file.txt, I can reproduce the error by trying to drag and drop the file to another directory.  Trying to cut and paste the file to another directory doesn't do anything and didn't see any errors in devtools console.
Maybe belongs in atom/tree-view but I'll leave it here for now.

/move to atom/tree-view


Don't stick/shrink nav on small screens

What is this PR trying to achieve?
Preventing the series nav from sticking on small screens to prevent letterboxing of content.
In terms of Optimize, I think an A/B test on a page with a sticky/non-sticky series nav and a hypothesis of, 'users with browsers narrower than 600px will scroll significantly further down the page if the series navigation is not sticky' would be a good starting point.
A further option would be to duplicate the series navigation and add it at the end of the article, to encourage onwards journeys to other parts of the series.
What does it look like?

A further option would be to duplicate the series navigation and add it at the end of the article

There's a test there.

I think an A/B test on a page with a sticky/non-sticky series nav and a hypothesis of, 'users with browsers narrower than 600px will scroll significantly further down the page if the series navigation is not sticky' would be a good starting point.

Why are we just removing it then?

There's a test there.

Why are we just removing it then?

Good points. I hadn't got as far as looking into the realities of testing. I'll shelve this as WIP until we have more clarity on our approach.

more clarity on our approach

Feel free to try and define it as we haven't really started with it.

Having had a little look at Optimize, one approach would be adding a class to the element that would e.g. add the sticky behaviour in the B condition. The styles for the B conditions could be one-per-test and loaded in at the same time so that we're not forcing everyone to download a bunch of potentially never used styles. @jamesgorrie @gestchild Thoughts?

to download a bunch of potentially never used styles

That would be negligible I would say? Rather a few bytes than a janky experience.
As the test stands though, we should keep the default (as we have stats for that) and then apply the test (which is not sticky).

That would be negligible I would say? Rather a few bytes than a janky experience.

Yeah, probably. I was imagining a future where we had loads of test like this running in parallel. Almost certainly overkill, though, and something that could be dealt with later if/when it's deemed a problem.
Another option is to add the CSS directly in Optimize, but I'm less of a fan of not having the test code checked in to Git.

re: css - you can always not add it to the CSS - but you loose the niceness of SASS.

you can always not add it to the CSS - but you loose the niceness of SASS

…and you don't get media queries, which are essential for this one.

@davidpmccormick Just invited you to mixpanel - maybe there's a way of adding this as a test there?
https://github.com/wellcometrust/wellcomecollection.org/pull/761
No fuss if it's too much fuss, just a thought.

Are we confident we can get the metrics we want from GA / Optimize?

Are we confident we can get the metrics we want from GA / Optimize?

Confident we can get bounce rate, which is a blunt instrument, but hopefully enough to get this off the ground


Add script to reconcile remote and local claims

@dhaiducek What function does this script add?  Can we add some doc for it?

Ah, yes. Documentation is key--I'll write some up.


Fix deflateBound and compressBound returning very small size estimates.

Fixes deflateBound and compressBound returning very small size estimates.
Remove workaround in switchlevels.c, so we do actual testing of this.
I also made a few of the magic numbers more understandable by using defines,
I would have liked to do so with the rest too.

I reasoned that the + 13 comes from compressBound, and thus includes zlib header size (6 bytes).
That seems to be the reason why it was +13 - 6 in deflateBound, since we do not always want to use the zlib header type there.
The remaining 7 bytes I am unsure about, raw deflate block headers? I was unable to find any documentation saying more than 2-3 bytes for that though, so I left that as a 7.
Also not sure why the ((sourceLen + 13 + 7) >> 3) is used for deflate_quick, it kind of looks like those additions should have been outside of the bitshifting, but without any comments those are just magic numbers. They also fail to add enough when the buffer size is 1 byte for example, thus the reason for adding the +1.

With these changes, the buffer size ends up being a lot bigger, but several of the changes we have made have affected the worst case compressed size. Deflate_quick is a big one for example, possibly we could investigate why level 1 becomes bigger than level 0 for random data, but I suspect it has to do with skipping extra checks for raw speed.
Also since hash_bits is now a define and not set depending on wsize, the check on hash_bits no longer checks wsize, and thus we need to be more pessimistic. (unless we add window_bits to the state struct so we can verify that is actually 15)
I also considered using the DFLTCC calculation, but that thing is calculating around 2x the size of the input buffer. Is that a mistake, or does the hardware compression worst case actually become that big? @iii-i
Resolves the problem reported in #1039

I think these changes look okay. I don't remember the original reason behind the 13 + 7. All I could find was this comment of mine: https://github.com/zlib-ng/zlib-ng/issues/284#issuecomment-594303772.

@nmoinvaz Interesting. Do you agree with my second commit?
I was not quite sure about the 7 bits for rounding however. As that rounds it up to 20 bits, and I would have expected 16 or 24 bits..

You may be correct about the number for rounding up. Maybe I had use the number for rounding up to nearest byte. Perhaps if it was 16 or 24 then we wouldn't need that extra 1 byte added at the end.

I tested the theory, and indeed, changing the 7 bits to 11 bits (totaling 24bytes) removes the need for that extra byte.
I amended the second commit with that change.

@Dead2 according to our hardware folks, in degenerate cases this can happen. Fortunately on e.g. squash-benchmark we haven't seen anything that atrocious.

@iii-i Thanks for confirming the hardware bounds.
I am not sure it should not be 7, but I don't quite understand what you are saying. Could you explain your thinking?
My thinking is that 3 + 10 = 13, and thus needs another 3 bits to fill up two bytes.
The 3 bits for block header is well understood, but I am a little unsure still where the 10 bits come from. RFC1951 does not seem to explain any such static overhead.
I also think the current non-deflate_quick calculation is a bit pessimistic, but better to err on the safe side.

At the end of each deflate block there is an end-of-block symbol. I guess that 10 comes from the fact that the software implementation can never generate an EOBS longer than 10 bits? The format allows it to be as long as 15, if I'm reading "3.2.7. Compression with dynamic Huffman codes (BTYPE=10)" correctly. 15 is also used in DFLTCC calculations (DFLTCC_MAX_EOBS_BITS).
So, when we add padding to the byte boundary at the end, the header size is actually irrelevant. The way I see the worst case then is: EOBS is 15 bits long and starts at byte X bit 2. Then, the last EOBS bit is at byte X + 2 bit 0. In order to get to the byte boundary, we need to skip the remaining 7 bits of byte X + 2.

Current code for reference:
    /* Quick deflate strategy worst case is 9 bits per literal, rounded to nearest byte (+7 bits),
       plus the size of deflate block headers and zlib/gzip wrapper */
    return sourceLen + ((sourceLen + 7) >> 3) + ((DEFLATE_WRAPBITS + DEFLATE_PADBITS) >> 3) + wraplen;

@iii-i Hmm. Is that worst case valid, considering we already added 7 bits to the compressed data just in case it ends before a byte boundary?
The way I am reading this is we need 3 bits block header, compressed data, 7 bits padding for compressed data, 15bits of EOBS.
So, 3-bit block header is unpadded, and 15-bit EOBS is unpadded. Would that not mean it needs another 6 bits of padding?
If so, that would look something like:
DEFLATE_HDR_BITS = 3
DEFLATE_EOBS_BITS = 15
DEFLATE_PAD_BITS = 6  // These can be added together in the header file, making DEFLATE_BLOCK_OVERHEAD or something

    return sourceLen            // The source size itself
    + ((sourceLen + 7) >> 3)    // Source encoding overhad, padded to next full byte
    + ((DEFLATE_HDR_BITS + DEFLATE_EOBS_BITS + DEFLATE_PAD_BITS) >> 3)    // Deflate block overhead
    + wraplen;                  // zlib or gzip wrapper

I might still be wrong, what do you think?
I hate magic numbers, so if we can get this somewhat accurate that would be great. (accurate in documentation and concept, not necessarily as in the total calculation being accurate)

Looks like we might have a too small size in some cases after all, I hadn't noticed the failed CI fuzzer.
==25==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x603000000e69 at pc 0x00000052472a bp 0x7ffc583a8fa0 sp 0x7ffc583a8768
WRITE of size 1 at 0x603000000e69 thread T0
SCARINESS: 31 (1-byte-write-heap-buffer-overflow)
    #0 0x524729 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3
    #1 0x569613 in flush_pending /src/zlib-ng/deflate.c:677:5
    #2 0x564a90 in zng_deflate /src/zlib-ng/deflate.c:718:9
    #3 0x55ea74 in test_deflate /src/zlib-ng/test/fuzz/example_small_fuzzer.c:54:15

Maybe that is related to the 10 vs 15 bits and padding.
The above suggestion would increase the estimate by 8 bits, and I think that would fix this problem at least.

Ah, you are right, we have already added 7. I just tried to come up with a formula on my own, and that's what I ended up with:
#define DEFLATE_HDR_BITS 3
#define DEFLATE_QUICK_LIT_MAX_BITS 9
#define DEFLATE_EOBS_MAX_BITS 15

sourceLen + ((DEFLATE_HDR_BITS + sourceLen * (DEFLATE_QUICK_LIT_MAX_BITS - 8) + DEFLATE_EOBS_MAX_BITS + 7) >> 3) + ZLIB_WRAPLEN

The initial sourceLen appears to be an alternative for having to multiply it by 9 in parentheses - presumably to reduce the chance of an overflow (I think it can still happen with the right inputs).
However, the only difference with the original formula now is that the result is 5 bits larger.
The difference with your approach is that you shift and pad compressed literals and deflate block overhead separately. Why does that help?

The reason I split it up was to make it easier to read.
It also makes sure the 7 bits added are dedicated to rounding up the sourcelen and is not affected by the deflate-block overhead bits missing any of its required padding bits, by making it clear that the block part needs to have its own padding handled separately.
Therefore HDRBITS (3) + EOBS (15) = 18 bits + padding (6) = 24 bits = 3bytes for the block overhead
Updated pseudo-code to be much more readable:
#define DEFLATE_HEADER_BITS 3
#define DEFLATE_EOBS_BITS 15
#define DEFLATE_PAD_BITS 6
#define DEFLATE_BLOCK_OVERHEAD = (DEFLATE_HEADER_BITS + DEFLATE_EOBS_BITS + DEFLATE_PAD_BITS) >> 3)

#define DEFLATE_QUICK_LIT_MAX_BITS = 9
#define DEFLATE_QUICK_OVERHEAD(x) = ((x * (DEFLATE_QUICK_LIT_MAX_BITS - 8) + 7) >> 3)

    return sourceLen                       // The source size itself
      + DEFLATE_QUICK_OVERHEAD(sourceLen)  // Source encoding overhad, padded to next full byte
      + DEFLATE_BLOCK_OVERHEAD             // Deflate block overhead bytes
      + wraplen;                           // zlib or gzip wrapper

Would a 32bit overflow really be feasible though? Wouldn't that require allocating a ~3641MiB or thereabouts input buffer? And then you would need an output buffer as well. Hmm, but the calculation is perhaps done on signed ints.

The format allows it to be as long as 15, if I'm reading "3.2.7. Compression with dynamic Huffman codes (BTYPE=10)" correctly. 15 is also used in DFLTCC calculations (DFLTCC_MAX_EOBS_BITS).

This calculation is mainly used for deflate quick which doesn't use BTYPE=10.
The value 7 comes from zng_tr_emit_end_block which is used by deflate_quick.

We may not be able to accurately calculate the exact number of bits/bytes. Back in the day there was only one deflate block that deflate quick used. But now due to other issues we had to have more than one deflate block. See QUICK_START_BLOCK and QUICK_END_BLOCK.

@nmoinvaz Right, there is that too.
The only thing we need to do is make sure we have a value that is good enough to catch the worst-case, preferably without a huge amount of extra bloat that never gets used.
Suggestions for changes to the last pseudo-code I posted?

I think that looks great. Otherwise overhead is misspelled

I made a little test that tests a bunch of different buffer sizes.
For the deflate_quick mthod; Up to about 32 bytes, the new method calculates a tighter buffer than the old method, at 64 bytes the new one is bigger than the old one, in my tests the old one fails at 128 bytes and above. The new one succeeds all tests up to 4MiB and shows no sign of failing higher than that.


Simpler strict mode checking

This PR simplifies our checking for reserved words used as identifiers in strict mode. The logic was previously contained in multiple functions in the checker but is now consolidated in a single function in the binder.
We might consider moving more of our grammar checks to the binder. The binder performs a full walk of the syntax trees anyway, and having them there allows us to perform the checks once and cache the results as long as the source file isn't modified. Plus it would be nice to reduce the size of the checker.

:+1:

lgtm


Nuget Package

Great tool, thanks for sharing!
Would you be open to publishing the assemblies and tools in a Nuget package? Happy to submit a PR with a nuspec for this and upload a first package if you're happy with this?

That would be great. Thank you

I've added it as a nuget package and made you the author and owner.


⚠ ClamAV has degraded performance

In 90af45b, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 87 ms

Resolved: ClamAV performance has improved in 114814b.


checkbox state partially selected to not selected

Hello,
Considering a list with particular selection:

State of the SubListA can be called partially selected. Now if I would click on the SubListA with my intent to remove SubListA and its leafs selection but I end up with SubListA and all leaves selected. Normally it would not be a problem but selecting list elements triggers evaluation of functions for which more selected items means more complexity. In such case it would be much better to de-select root and leafs than selecting them.
Is there any way I can change that behavior and when clicking on partially selected root have it de-selected instead of selecting the root and leafs?
If no, is there any way to remove partially selected state? or maybe a FR for that :)
Thanks

You do not have control over the action that happens when a node is in undetermined state - it is hardcoded to select it (since the node is NOT selected, so clicking it - selects it).
The only way to modify this is to copy the checkbox plugin and create your own checkbox plugin.
As for removing the undetermined state - take a look at the checkbox plugin config options - there is an option called three_state - set it to false in your config:
$('#tree').jstree({
  checkbox : {
    three_state : false
  },
  plugins : ["checkbox"]
});

If you want over finer control over cascading take a look at the cascade option.
Best regards,
Ivan

@vakata
I'd like to disable the "undetermined" visual state of the checkbox. Instead, I'd like it to render as not checked.
Is that at all possible? My config is as follows:
$('#tree', this).jstree({
    plugins: ['wholerow', 'checkbox'],
    checkbox: {
        cascade: 'undetermined',
        visible: true,
        three_state: false
    }
});

In other words, I am trying to disable selection cascading in either direction AND I would like to undetermined state to be represented as "not checked".
Thank you!

@temuri416 try this: http://jsfiddle.net/DGAF4/2121/


Enabling web-console vendoring into origin-web-console-server for 3.9

Hold on merging this

These changes are good but because the new server isn't getting deployed yet we want to hold this at least until EOD tomorrow.  That way we can get some fixes/changes into OSE via the existing vendoring so QE can test them.
@spadgett will give the thumbs up if we are ready to merge this tmrw

Received +1 from @spadgett via IRC


Add extreme EmailVolume value

The only taxon we are getting extreme volumes for are notifications
for content tagged with the Coronavirus taxon. We want to inform
the user what these numbers are, so that they can get decide whether
they still want to get immediate notifications. The min value is
based on a daily average, and the maximum is on a day's maximum
content changes during the first couple of weeks of the taxon's
existence.
https://trello.com/c/rcC3U4Ah
Screenshots
Before

After

Can we update the tests? https://github.com/alphagov/email-alert-frontend/blob/ceec1b56115e8bc8952eb0e249600a8e5f8caf25/spec/models/weekly_email_volume_spec.rb

@vanitabarrett done Don't know how I missed that. I was originally puzzled as to why EmailVolume::TaxonWeeklyEmailVolume didn't have a test and was wondering where would be best to add one. Didn't realise it was covered in one for EmailVolume::WeeklyEmailVolume.


Added "How internet works" doc

Description 📜
Added "how internet works" doc under the topic of "Basics of Internet"
Fixes #1255 Frond End Web Dev : How does the Internet Work?

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] Frontend Dev HTML/CSS/JS

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

I will explain it with the help of a video how the internet works.
topics covered are (introductory) are ---- client/server, protocol, traffic, packets, networking stack, tcp/ip 5 layer model, osi 7-layer model, working of all layers in unison, and introduction to the technical terms used
assign the issue plzz.........

@m3rashid bro, this is not an issue but a pull request. Please check out issues to see if anyone had taken this issue or not. If not then you can create the issue with proper markdowns. :)

Sorry, I was in a hurry, didn't see that bruh...
Sorry ....
On Mon, 27 Sep, 2021, 16:24 Ashutosh Dash, @.***> wrote:

@m3rashid https://github.com/m3rashid bro, this is not an issue but a
pull request. Please check out issues
https://github.com/girlscript/winter-of-contributing/issues to see if
anyone had taken this issue or not. If not then you can create the issue
with proper markdowns. :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/girlscript/winter-of-contributing/pull/2365#issuecomment-927749688,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APNQKBJZEQ6YD7MFJISWRKLUEBEOHANCNFSM5EVC6YWQ
.

@m3rashid no worries

@moulikagrawal done :)


fix(sdk-metrics): deprecate instrument type in InstrumentDescriptor

Which problem is this PR solving?
InstrumentDescriptor currently accidentally passes the original instrument type through to the exporter. In #3439 we agreed to deprecate it and rename InstrumentDescriptor to Descriptor.
This PR

deprecates InstrumentDescriptor and it's type field

introduces a Descriptor base interface as replacement, which has no type field.
makes InstrumentDescriptor extend Descriptor
InstrumentDescriptor is still passed to Exporters via MetricData as the interface needs to stay stable

introduces an internal type MetricDescriptor to replace InstrumentDescriptor internally. This type:

extends Descriptor
renames type -> originalInstrumentType
keeps the originalInstrumentType around for internal use, as it is necessary to

resolve view conflicts
apply view selectors to instruments
determine default aggregations
determine if sum aggregations are monotonic/non-monotonic
determine if sum should be included when creating a HistogramDataPoint

is converted to InstrumentDescriptor before export.

I'm not aiming to change any of the exporter packages that use the InstrumentDescriptor type in this PR, but keep the changes local to the sdk-metrics package. Changing the exporter packages would blow up the diff significantly and make it hard to determine if the changes are truly non-breaking.
I would be very happy about some feedback regarding the JavaScript/TypeScript-iness of the PR as well as naming of the types, as I'm not entirely confident about those points at the moment. :slightly_smiling_face:
Fixes #3439
Type of change

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

[x] Existing Unit tests
[x] Adapted Unit tests

Checklist:

[ ] Followed the style guidelines of this project
[ ] Unit tests have been added
[ ] Documentation has been updated

Will this cause deprecation warnings (depending on linter/ts setup) for anyone importing InstrumentDescriptor e.g. in an exporter? If so, is there a way to fix the deprecation warnings by using a different type/field in exposition format?

It should be possible to just use the newly introduced base type Descriptor instead, which should get rid of any warnings (and also the type field). :slightly_smiling_face:

@pichlermarc tests are still failing and the linked PR is merged

There's a better impelmentation of this in #3876 and we've planned removing it from the public interface in SDK 2.0 (https://github.com/open-telemetry/opentelemetry-js/issues/3439). Closing this in favor of #3876


Add Liberapay Language Keys

Would be nice if you added language keys for Liberapay, it is very similar to Patreon just different.

Sure, feel free to open a PR adding it to en_us.json in the 1.16 and 1.17 branches.

I don't quite understand what this issue us about but other services like liberapay worth mentioning are:
https://www.buymeacoffee.com/
https://ko-fi.com/
https://flattr.com/
https://opencollective.com/
https://coindrop.to/


Miscount in CASE statement

There is a numerical mistake in one of the case/switch statements in one of the files. I was just skimming the code to try to figure out which options to use, and ran across it.
In https://github.com/Loloppe/ChroMapper-AutoMapper/blob/master/Items/Helper.cs the Red UP_LEFT and Blue UP intersection is set to only use 6 options, when there are in fact 7 of them.
Sidenote request: For each option/field in the UI, a tooltip that explains what higher vs lower numbers will do, what "threshold" and "onset" really mean, and that sort of thing, would be greatly appreciated! :) Thanks for your hard work!

Thanks for letting me know, I've updated the source and the release with the fix.
On-hover or tooltip is just too complicated for me at the moment, so there's no plan for that. The whole UI could use a redesign to be honest and I just hate UI stuff.


Add version: 4gray.iptvnator version 0.15.0

Pull request has been created with WinGet Automation 🪟📦🤖
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

2024-01-15T13:49:51.4805814Z ##[error] Manifest Error: Schema Error. [Schema validation failed. Error context: [Tags] Description: Array should contain no more than 16 elements. Error context:  Description: Failed to validate against schema associated with property name 'Tags'. ] File: 4gray.iptvnator.locale.en-US.yaml

(Automated response - build 570.)

Hi @vedantmgoyal2009,
This PR appears to have too many tags.

Automatic Validation ended with:

2024-01-15T13:49:51.4805814Z ##[error] Manifest Error: Schema Error. [Schema validation failed. Error context: [Tags] Description: Array should contain no more than 16 elements. Error context:  Description: Failed to validate against schema associated with property name 'Tags'. ] File: 4gray.iptvnator.locale.en-US.yaml

(Automated response - build 575.)


Add code snippets for common Pulumi Boilerplate

Hello!

Vote on this issue by adding a 👍 reaction
If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details
It would be nice as part of the vscode extension to get some code snippets. For example having a snippet for component resources or dynamic resources would save time and make it easier on users. It would also help to guide them in best practices.
Example Typescript Component Resource Code Snippet
{
	"Pulumi Component Resource": {
		"prefix": "pulumi-component",
		"body": [
			"import * as pulumi from '@pulumi/pulumi';",
			"",
			"export interface ${1:ComponentResourceArgs} {",
			"  ${2:property1}?: pulumi.Input<string>;",
			"  ${3:property2}?: pulumi.Input<number>;",
			"}",
			"",
			"export class ${4:MyComponentResource} extends pulumi.ComponentResource {",
			"  public readonly ${5:outputProperty}: pulumi.Output<string>;",
			"",
			"  constructor(name: string, args: ${1:ComponentResourceArgs}, opts?: pulumi.CustomResourceOptions) {",
			"    super('${6:my:module:ComponentResource}', name, {}, opts);",
			"",
			"    // Example of using the args to define resources",
			"    const exampleResource = new pulumi.resource.${7:SomeResource}('${8:exampleResource}', {",
			"      ${2:property1}: args.${2:property1},",
			"    }, { parent: this });",
			"",
			"    // Example of exporting a property from the component",
			"    this.${5:outputProperty} = pulumi.output('${9:some-output-value}');",
			"",
			"    this.registerOutputs({",
			"      ${5:outputProperty}: this.${5:outputProperty}",
			"    });",
			"  }",
			"}"
		],
		"description": "Pulumi TypeScript Component Resource template"
	}
}

Affected area/feature

Today, I wrote my first component, this would be nice to have


the height of the console input field is so small and can't be changed

This have been modified to 5 lines initial.


[Enhancement] Attempt reconnects if Plex Server is restarting/down

I wanted to switch to this version of the rich presence from a python script I've been using, but the main issue I was trying to resolve is not working here either. Plex servers sometimes restart (to install updates for example), and that fatally kills these tools. Ideally, the application should keep attempt reconnecting when running, maybe to at least some sane degree to handle restarts. Some people may run Plex in docker, where the container spin-up can take some time as well, so the timeout should not be too agressive.
It seems this tool dies instantly when Plex is shut down.

I am not fully sure if this is a dupe of https://github.com/Ombrelin/plex-rich-presence/issues/37 . If so, you can close it


Created a new folder and added defferents files

Added Redux Toolkit (npm install react-redux @reduxjs/toolkit).
Created a directory that will contain all your Redux logic (/src/redux)
Configure a Redux store (/src/redux/store.js)
Define a slice of state for books that:
Added an array of books (initial state: empty array)
Added a reducer that adds a book
Added a reducer that removes a book
Define a slice of state for categories that:
Added an array of categories (initial state: empty array)
Added a reducer that checks the status and always returns "Under construction" (the initial state should check to that string)

@Shaheryar0054, Hi, I see that you have created a new branch with a different name based on my previous suggestion. While I appreciate your effort to follow the convention, you did not need to create a new branch for this pull request. My suggestion was for future pull requests, not for the current one. Creating a new branch can cause confusion and duplication of work, especially if you have already made some changes in the original branch. You can keep using the original branch for this pull request and apply the naming convention for the next one. Thank you.😊


Hey there!

I see you haven't updated in several years.
Is this script still usable?
If not, do you intend to keep this project alive?
Regards.

Hi, I think it should still work, because I use a slight but very old modification of it for my own things.

Hi, I think it should still work, because I use a slight but very old modification of it for my own things.


Rack::Lint::LintError: rack.input #Falcon::Adapters::Input:0x000055a9b437cbd0 does not respond to #rewind

Sorry for kind of combining two issues. I can overcome the first by putting falcon into Gemfile, but then I get a weird error.
First I tried to run falcon as:
$ gem install falcon
$ falcon serve
WARN: Unresolved specs during Gem::Specification.reset:
      rake (>= 0)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
/home/strzibny/.gem/ruby/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require': cannot load such file -- async/container/forked (LoadError)
	from /home/strzibny/.gem/ruby/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `block in require'
	from /home/strzibny/.gem/ruby/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:249:in `load_dependency'
	from /home/strzibny/.gem/ruby/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `require'
	from /home/strzibny/.gem/ruby/gems/falcon-0.18.4/lib/falcon/command/serve.rb:60:in `container_class'
	from /home/strzibny/.gem/ruby/gems/falcon-0.18.4/lib/falcon/command/serve.rb:80:in `run'
	from /home/strzibny/.gem/ruby/gems/falcon-0.18.4/lib/falcon/command/serve.rb:103:in `invoke'
	from /home/strzibny/.gem/ruby/gems/falcon-0.18.4/lib/falcon/command.rb:68:in `invoke'
	from /home/strzibny/.gem/ruby/gems/falcon-0.18.4/bin/falcon:26:in `<top (required)>'
	from /home/strzibny/bin/falcon:23:in `load'
	from /home/strzibny/bin/falcon:23:in `<main>'
[strzibny@strzibny benchmark-app]$ RACK_HANDLER=falcon rails server
Exiting
/home/strzibny/.gem/ruby/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require': cannot load such file -- rack/handler/falcon (LoadError)
	from /home/strzibny/.gem/ruby/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `block in require'
	from /home/strzibny/.gem/ruby/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:249:in `load_dependency'
	from /home/strzibny/.gem/ruby/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `require'
	from /home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/handler.rb:74:in `try_require'
	from /home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/handler.rb:16:in `get'
	from /home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/handler.rb:53:in `default'
	from /home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/server.rb:304:in `server'
	from /home/strzibny/.gem/ruby/gems/railties-5.2.0/lib/rails/commands/server/server_command.rb:105:in `use_puma?'
	from /home/strzibny/.gem/ruby/gems/railties-5.2.0/lib/rails/commands/server/server_command.rb:76:in `print_boot_information'
	from /home/strzibny/.gem/ruby/gems/railties-5.2.0/lib/rails/commands/server/server_command.rb:47:in `start'
	from /home/strzibny/.gem/ruby/gems/railties-5.2.0/lib/rails/commands/server/server_command.rb:147:in `block in perform'
	from /home/strzibny/.gem/ruby/gems/railties-5.2.0/lib/rails/commands/server/server_command.rb:142:in `tap'
	from /home/strzibny/.gem/ruby/gems/railties-5.2.0/lib/rails/commands/server/server_command.rb:142:in `perform'
	from /home/strzibny/.gem/ruby/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
	from /home/strzibny/.gem/ruby/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
	from /home/strzibny/.gem/ruby/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
	from /home/strzibny/.gem/ruby/gems/railties-5.2.0/lib/rails/command/base.rb:65:in `perform'
	from /home/strzibny/.gem/ruby/gems/railties-5.2.0/lib/rails/command.rb:46:in `invoke'
	from /home/strzibny/.gem/ruby/gems/railties-5.2.0/lib/rails/commands.rb:18:in `<main>'
	from /home/strzibny/.gem/ruby/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
	from /home/strzibny/.gem/ruby/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
	from /home/strzibny/.gem/ruby/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
	from /home/strzibny/.gem/ruby/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
	from /home/strzibny/.gem/ruby/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
	from /home/strzibny/.gem/ruby/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `block in require'
	from /home/strzibny/.gem/ruby/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:249:in `load_dependency'
	from /home/strzibny/.gem/ruby/gems/activesupport-5.2.0/lib/active_support/dependencies.rb:283:in `require'
	from /home/strzibny/Projects/benchmark-app/bin/rails:9:in `<top (required)>'
	from /home/strzibny/.gem/ruby/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `load'
	from /home/strzibny/.gem/ruby/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `call'
	from /home/strzibny/.gem/ruby/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
	from /home/strzibny/.gem/ruby/gems/spring-2.0.2/lib/spring/client.rb:30:in `run'
	from /home/strzibny/.gem/ruby/gems/spring-2.0.2/bin/spring:49:in `<top (required)>'
	from /home/strzibny/.gem/ruby/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `load'
	from /home/strzibny/.gem/ruby/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `<top (required)>'
	from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:68:in `require'
	from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:68:in `require'
	from /home/strzibny/Projects/benchmark-app/bin/spring:15:in `<top (required)>'
	from bin/rails:3:in `load'
	from bin/rails:3:in `<main>'

This does not work. Luckily adding it to Gemfile helped:
$ bundle exec rackup -s falcon -r falcon
Rack::Lint::LintError: rack.input #<Falcon::Adapters::Input:0x000055a9b437cbd0> does not respond to #rewind
	/home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/lint.rb:20:in `assert'
	/home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/lint.rb:347:in `block in check_input'
	/home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/lint.rb:346:in `each'
	/home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/lint.rb:346:in `check_input'
	/home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/lint.rb:291:in `check_env'
	/home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/lint.rb:43:in `_call'
	/home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/lint.rb:37:in `call'
	/home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/show_exceptions.rb:23:in `call'
	/home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/common_logger.rb:33:in `call'
	/home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/chunked.rb:54:in `call'
	/home/strzibny/.gem/ruby/gems/rack-2.0.5/lib/rack/content_length.rb:15:in `call'
	/home/strzibny/.gem/ruby/gems/falcon-0.18.4/lib/falcon/adapters/rack.rb:102:in `call'
	/home/strzibny/.gem/ruby/gems/async-http-0.30.3/lib/async/http/middleware.rb:53:in `call'
	/home/strzibny/.gem/ruby/gems/falcon-0.18.4/lib/falcon/adapters/rewindable.rb:59:in `call'
	/home/strzibny/.gem/ruby/gems/async-http-0.30.3/lib/async/http/middleware.rb:53:in `call'
	/home/strzibny/.gem/ruby/gems/async-http-0.30.3/lib/async/http/server.rb:54:in `block in accept'
	/home/strzibny/.gem/ruby/gems/async-http-0.30.3/lib/async/http/protocol/http11.rb:134:in `receive_requests'
	/home/strzibny/.gem/ruby/gems/async-http-0.30.3/lib/async/http/protocol/http1.rb:59:in `receive_requests'
	/home/strzibny/.gem/ruby/gems/async-http-0.30.3/lib/async/http/server.rb:49:in `accept'
	/home/strzibny/.gem/ruby/gems/async-io-1.15.2/lib/async/io/socket.rb:62:in `block in accept_each'
	/home/strzibny/.gem/ruby/gems/async-io-1.15.2/lib/async/io/socket.rb:95:in `block in accept'
	/home/strzibny/.gem/ruby/gems/async-1.10.1/lib/async/task.rb:74:in `block in initialize'

The first problem is to be expected, the way it's currently set up in rails, you need to add the gem to your gem file to install all dependencies.
The second issue is more interesting. I will need to investigate.

So, falcon serve is the preferred method for starting a server.
RACK_HANDLER=falcon rails server works but is limited to using the rack handler, which only starts one thread.
bundle exec rackup -s falcon -r falcon is essentially the same as the above.
I've pushed a fix for the lint error, I hope to release soon v0.18.6.

Thanks. I mentioned the first one mainly because it confused me in README with Or install it yourself as: gem install falcon. I will try it again once new version is out.

Yeah, I can see how that is confusing. To use it with rails you must follow the instructions here: https://github.com/socketry/falcon#integration-with-rails
Falcon can be used with any rack-compatible stack so those are general instructions for how to integrate it, but I will try to improve that.

Okay, this was fixed in 0e9e84d4847ce6179fc0fe57ba997973284b2c69 and released in v0.18.5. I'll work on the documentation separately, but if you could try it out and let me know what would be great.

Cool, just tried and it works!

Thanks for your feedback!


Question: Can you exclude a column from being in a generated type?

We would like to add a created_at column to a table that our PostgresSQL that always gets set by our DB.
Is there a way to exclude this column when generating the type that represents this row, since we never use it in our program? The column is only used for debugging purposes.

The filters currently accept:

{table}
{schema}/{table}

The ability to filter columns sounds useful. I think the filters could be augmented to allow this, but it would have to be fully qualified:

{schema}/{table}/{column}

This is based on my assumption none of the other database providers allow nested schemas.
if it turns out that any of them do, then it would would be better to use a different delimiter to indicate columns, such as:

{schema}/{table}.{column}

In fact maybe that would be better anyway since it would also allow leaving off the schema:

{table}.{column}

I see! thanks for answering.
We can of course work around this by setting a dummy value when creating the generated type before serializing it with the excludeColumn. But would prefer to not have that field :)

Were you able to try out this change to see if it works for your scenario?

Implemented in v0.610.0.


Running the image on CentOS7 results in "ChromeLauncher:error connect ECONNREFUSED <IP_ADDRESS>"

Description
When running the image on CentOS7/RHEL7 the result is a series of "waiting for browser" messages and eventually the ECONNREFUSED error.
See this from upstream: https://github.com/GoogleChrome/lighthouse/issues/2726
Command line I used to start the container
docker run --rm --cap-add=SYS_ADMIN --name "localtest-15beb5d" -t -v "$(pwd)/lighthouse-reports/:/home/chrome/reports" "femtopixel/google-lighthouse:latest" "http://www.google.com"
Steps to reproduce the issue:

Use a CentOS7 system, tested with upstream docker-ce
Run the command
Watch it fail

Describe the results you received:
  ChromeLauncher Waiting for browser................................................................................................. +501ms
  ChromeLauncher Waiting for browser................................................................................................... +502ms
  ChromeLauncher Waiting for browser..................................................................................................... +501ms
  ChromeLauncher Waiting for browser....................................................................................................... +501ms
  ChromeLauncher:error connect ECONNREFUSED <IP_ADDRESS>:43818 +1ms
  ChromeLauncher:error Logging contents of /tmp/lighthouse.yHe0vyL/chrome-err.log +1ms
  ChromeLauncher:error [0402/142744.311466:ERROR:zygote_host_impl_linux.cc(116)] No usable sandbox! If this is a Debian system, please install the chromium-sandbox package to solve this problem. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.

Describe the results you expected:
  status Evaluating: Links have descriptive text +0ms
  status Evaluating: Page isn’t blocked from indexing +2ms
  status Evaluating: robots.txt is valid +2ms
  status Evaluating: Tap targets are sized appropriately +1ms
  status Evaluating: Document has a valid `hreflang` +2ms
  status Evaluating: Document avoids plugins +0ms
  status Evaluating: Document has a valid `rel=canonical` +1ms
  status Evaluating: Structured data is valid +0ms
  status Generating results... +0ms
  Printer html output written to /home/chrome/reports/www.google.com_2019-04-02_15-01-27.report.html +44ms
  CLI Protip: Run lighthouse with `--view` to immediately open the HTML report in your browser +0ms
  ChromeLauncher Killing Chrome instance 21 +0ms

Additional information you deem important (e.g. issue happens only occasionally):
By building on this image to add --no-sandbox to the chrome flags it works.
Perhaps the chrome flags could be made configurable by environment variable so that this is only overridden where required? Or can it be considered safe to --no-sandbox in this case seeing as it's confined in a docker container under an unprivileged user anyway (particularly if running with the seccomp profile instead of SYS_ADMIN caps).

Thanks for the report and the tips ;)


test packages

if data element ZFOO is created in the system(transportable object), deleted, and imported again, will it default to the old package?

perhaps implement feature to double check packages and show warnings

also see #77

add fields

folder
current_package
target_package

to st_result


Remove non-core dependencies

To keep number of requirements down, remove dependencies that are not needed for (regular) use of core functions.

[x] Move nose dependencies to requirements-dev
[ ] Move Sphinx dependencies to requirements-docs
[ ] Remove dependency of tqdm

Move Sphinx dependencies to requirements-docs

For now, I think having them in requirements-dev.txt is good enough. I may revisit things while working on the Slicer radiomics  integration.

Remove dependency of tqdm

For progress reporting, I also like the idea of context manager.
See http://pocco-click.readthedocs.io/en/latest/utils.html#showing-progress-bars and https://github.com/girder/girder/blob/834cf29acc3538b38ba24e6e7203852924110843/clients/python/girder_client/init.py#L823

For progress reporting, I also like the idea of context manager.

The problem is not so much that tqdm does not work as we expect, just that it is yet another dependency, but one that is nearly never used (only used in full-python mode for 2 of the 5 feeature classes)

Removal of tqdm dependency addressed by #232

For progress reporting, I also like the idea of context manager

I looked at your code, really nice! I will see how to adapt this to PyRadiomics. In the mean time I opened a PR which now exposes a kind of quick-and-dirty fix.

@jcfr, I took your example with a dummy progress reporter in girder and adapted it to PyRadiomics. I tested it with both tqdm (can be used directly) and click (used in a simple wrapper class). I also pass the iterable (gray levels) to the progress bar instead of a length and calls to update, because this was more similar between tqdm and click.

Addressed by #231


doc: unique names must be specified when using public discovery service

Fix #2682

@yichengq PTAL.
/cc @robszumski It would be great if you can take a look too.

lgtm


add size command

if you're curious, I did a couple small touch-ups to bring up the unit tests too


Fix for elegant termination of queued auto-retry operations.

In the retry block, checks whether the operation has been cancelled and if so, immediately return.
Without this check & return, user code can't correctly cancel operations on an AFHTTPRequestOperationManager operationQueue. This appears to have the downstream effect of causing download failures, however the cancelling should be respected.

great job


chore: format all files

This PR:

Checks in formatted versions of all files in the repo (I ran npm run fmt) so that unrelated formatting changes no longer appear in PRs.
Adds Verify Files CI job that checks if all files are lint-free (eslint) and properly formatted (prettier).
Adds a lint-staged task to format non-js files.

Question: I assumed we want to format all files that prettier knows to handle. Are there some files we'd like to ignore or format differently? I only ignored CHANGELOG.md files because those are autogenerated.

Question: I assumed we want to format all files that prettier knows to handle. Are there some files we'd like to ignore or format differently?

I think just CHANGELOG.md we should leave alone. Otherwise, I'm :+1: to formatting everything. We can always adjust later if we don't like something.


CLDOPS-2524: Change heartbeat from Zen of Python to a generic counter.

Please update the version number as well so it will match the tag and release we will be creating.

Looks good, will merge this.


please update maven central repository

it does not contain ActiveSpan，git clone and mvn install to my local maven repository, then it works

@dk900912 hi, what version do you mean? 0.30.0 has been published in maven central a long time ago.

0.31.0-RC1! i removed these dependencies and update my maven project, but ActiveSpan still loss.

@dk900912 Version 0.31.0 of the OpenTracing API will contain breaking changes - the main change being the way that active spans are managed. The ActiveSpan interface will no longer exist, and instead active spans will be managed via a Scope.
The 0.31.0-RC1 release was a release candidate to enable framework instrumentations and tracer implementations to try out the new changes. A second RC will be released soon.

If interested in tracking this change, you can watch https://github.com/opentracing/opentracing-java/issues/189
There is also work on a compatibility layer that you may be interested in: https://github.com/opentracing/opentracing-java/pull/221

@objectiser I got it, thank u so much

Since 0.31 has already been published to Maven (http://repo1.maven.org/maven2/io/opentracing/opentracing-api/0.31.0/), as well as the v031 compatibility layer (http://repo1.maven.org/maven2/io/opentracing/opentracing-v030/0.0.4/), I'm going to close this issue. If I'm missing something, feel free to re-open it @dk900912
Thanks!