Loadtestservice - stable release (GA)

Description
Azure Load Testing Java SDK generated from stable GA API (2022-11-01 version). Has breaking change compared to preview version.
Link to swagger PR: https://github.com/Azure/azure-rest-api-specs/pull/21117
Notable changes:

Uses single builder - multiple clients pattern, instead of single client - multiple sub clients
Metrics API has significant changes compared to previous version
Will be adding handwritten LRO for validate test script for load test (this is not LRO from swagger point-of-view)

All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

swagger/README.md file may point to a local swagger spec or in a remote feature branch. It will be cleaned up when the swagger PR is merged

@weidongxu-microsoft @samvaity Our GA APIs are finalized and this PR has the corresponding SDK changes. Requesting initial review for this PR.
Test cases and samples pending. Added handwritten LRO operation for checking file validation status in beginGetValidationStatus (https://github.com/Azure/azure-sdk-for-java/pull/31755/files#diff-2d84ee3d05a240dfe12fe48cafbad20af06ddb3ced2c38a2b05a739d4ae0e643R813)

Added a section on CI failure https://github.com/Azure/azure-sdk-for-java/wiki/Protocol-Methods-Quickstart-with-AutoRest#troubleshoot-ci-failure
I can get the idea, but the API on "beginGetValidationStatus" is somehow strange. Usually "begin" is on the action that trigger the polling (e.g. "beginCreate", "beginRunTest", etc.), not on the action that actually poll the status.

arch @srnagar

@weidongxu-microsoft @srnagar Do you suggest we rename the API to getValidationStatus, or change the functionality to start the LRO operation by uploading the file (something like beginUploadAndValidate)? In other languages, we are implementing just the validation status check without uploading the file, i.e. user is expected to do uploadFile and then wait for terminal status using getValidationStatus LRO. Requesting feedback

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-developer-loadtesting

@weidongxu-microsoft the pipeline failure seems to be related to resource-manager/webpubsub/pom.xml. Should anything be changed in this PR to resolve it?

@weidongxu-microsoft the pipeline failure seems to be related to resource-manager/webpubsub/pom.xml. Should anything be changed in this PR to resolve it?

I will get a PR to fix it.
No idea why azure-identity release again in this time...

Pipeline failure is caused by absence of azure-developer-loadtesting product slug. What is the recommended way to add the required slug?

@weidongxu-microsoft @samvaity @srnagar
Pipeline failure is caused by absence of azure-developer-loadtesting product slug. What is the recommended way to add the required slug?
Also, is there a way to see the code coverage report in the ADO pipelines? Currently, jacoco minimums are set but it is unclear where we can improve our code coverage from.
Thirdly, I've noticed that some services add a 1px image at the end of the README.md to gain insights about user engagement. May I know how to onboard/enable this for LoadTestService too?

@sima-zhu Hi Sima, do you have answer to question about slug in samples/README.md and the 1px image in doc?

@sima-zhu Hi Sima, do you have answer to question about slug in samples/README.md and the 1px image in doc?

Check is here https://github.com/Azure/azure-sdk-for-java/blob/main/eng/common/scripts/Test-SampleMetadata.ps1#L97-L99
But I am not familiar with this https://review.docs.microsoft.com/help/contribute/metadata-taxonomies?branch=main#product

@sima-zhu Hi Sima, do you have answer to question about slug in samples/README.md and the 1px image in doc?

Check is here https://github.com/Azure/azure-sdk-for-java/blob/main/eng/common/scripts/Test-SampleMetadata.ps1#L97-L99
But I am not familiar with this https://review.docs.microsoft.com/help/contribute/metadata-taxonomies?branch=main#product

If the metadata of your product exists, just reuse the metadata. If not, you need to submit a form to apply a metadata for your product. The docs for the application: https://review.learn.microsoft.com/en-us/help/platform/metadata-request-new-attribute?branch=main

@sima-zhu Hi Sima, do you have answer to question about slug in samples/README.md and the 1px image in doc?

Check is here https://github.com/Azure/azure-sdk-for-java/blob/main/eng/common/scripts/Test-SampleMetadata.ps1#L97-L99
But I am not familiar with this https://review.docs.microsoft.com/help/contribute/metadata-taxonomies?branch=main#product

If the metadata of your product exists, just reuse the metadata. If not, you need to submit a form to apply a metadata for your product. The docs for the application: https://review.learn.microsoft.com/en-us/help/platform/metadata-request-new-attribute?branch=main

Thanks, have changed it to azure-load-testing to azure-developer-loadtesting. Is this okay because our namespace is developer?

Thanks, have changed it to azure-load-testing to azure-developer-loadtesting. Is this okay because our namespace is developer?

Not an expert of naming convention, I think you can follow what other team is doing.

@sima-zhu @weidongxu-microsoft azure-load-testing product slug needs to be added in https://github.com/Azure/azure-sdk-for-java/blob/main/eng/common/scripts/Test-SampleMetadata.ps1#L230. The product slug is present in https://review.docs.microsoft.com/help/contribute/metadata-taxonomies?branch=main#product but not in this repo. May I know what is the process for raising a PR for it?

testing

If it is requested and get into metadata-taxonomies, you can raise a PR to update Test-SampleMetadata.ps1. Sima or I should be able to approve that.
Does other SDK repo have similar validation step?

testing

If it is requested and get into metadata-taxonomies, you can raise a separate PR to update Test-SampleMetadata.ps1. Sima or I should be able to approve and merge that (I am not sure if there is script to sync the ps1 automatically). Does other SDK repo have similar validation step?

C# repo has this exact file but I am not sure if it being used in sample. The sample README does look similar to Java leading me to believe it might be used as well

testing

If it is requested and get into metadata-taxonomies, you can raise a separate PR to update Test-SampleMetadata.ps1. Sima or I should be able to approve and merge that (I am not sure if there is script to sync the ps1 automatically). Does other SDK repo have similar validation step?

I've raised PR to SDK tools repo: https://github.com/Azure/azure-sdk-tools
It should get synced to all language repositories after it gets merged. I guess no change required in Java repository specifically

testing

If it is requested and get into metadata-taxonomies, you can raise a separate PR to update Test-SampleMetadata.ps1. Sima or I should be able to approve and merge that (I am not sure if there is script to sync the ps1 automatically). Does other SDK repo have similar validation step?

I've raised PR to SDK tools repo: https://github.com/Azure/azure-sdk-tools
It should get synced to all language repositories after it gets merged. I guess no change required in Java repository specifically

I've raised PR to SDK tools repo: https://github.com/Azure/azure-sdk-tools It should get synced to all language repositories after it gets merged. I guess no change required in Java repository specifically

OK, I don't have write permission in tools repo. It had to be approved there. Would you update the description in your PR, so it would help reviewers get the context and hopefully approve.

I have merged all language synced PR and tool PR. Let me know if anything left here.
Also I suggested the update to the csv file MsDocService with the product slug. That's the most accurate one to use for docs published to Docs.MS.

@mikekistler Directives are removed, and the changes are made in REST API specs. Requesting resolution of change request.

@weidongxu-microsoft Changed version to 1.0.0-beta.2, requesting review of the version changes in files

@sima-zhu Can you please help us with setting up of 1px image in README doc for telemetry?

@srnagar As loadtesting plan to do GA release in Jan., would you take another look as this should be their final API.


Create a Player object

A Player object has the following properties:

name
health
strength
agility

A Player object has the following methods:

getStats()
getInventory()
getHealth()
getAttackValue()
isAlive()
addPotion()
usePotion()
reduceHealth()

Write appropriate tests for the Player() constructor and methods.

Integrated changes under: commit f386de5b416782115adb60d9e836aa779e56f987 .


Feature: Kill and restart Sidekiq

We need a way for admins to kill and restart Sidekiq, without having to remote into the box.

Evan, is this complete or still necessary?  I see that sidekiq.rb has some code that looks to find the process... not sure it kills it though.

Still necessary. We have code that starts up Sidekiq if it isn't running, but we don't have any way to kill it except by remoting into the box.

Done, finally.


tiltfile: added extension to enforce minimum k8s version

Hello @nicks !
Here's the initial idea I came up with for enforcing a minimum tilt version. The functionality is heavily inspired by the min_tilt_version extension. Would something like this address the raised issue? (https://github.com/tilt-dev/tilt/issues/3297)

Hey @nicks
I've corrected the warning message in the following commit:
f0aabce0a54e0549ebfa531ce3a1d59736ec886b  (Thu Jul 16 15:47:03 2020 +0400) -     corrected warning message

Merged into master!


gas_fee_l1 and gas_fee_blob SUFs consumes from a time-series signal parameter

Both variables should be set to the value from a time-series system parameter
eg. gas_fee_l1 = params['gas_fee_l1_time_series][state['timestep']`

I am going with an alternate approach for the time being, which enables injecting a time series but does not make it a parameter. Addressed in Pull Request #109

Closed with #109


docs: update code snippet for progress linear and progress circular (sfc)

📝 Description

Update code snippet for progress linear and progress circular (sfc)

⛳ Current behavior (updates)

Code snippet in progress linear and progress circular isn't working with apiRef

🚀 New behavior

Update from apiRef to api in progress linear and progress circular
Update markdown with prettier

💣 Is this a breaking change (Yes/No):
No
📝 Additional Information

Hi @segunadebayo
I also fixed the CI deployment of solid-js in this PR.


When Terminal is active, only built-in display brightness is adjusted

Checklist

[x] I have searched for existing issues
[x] I have looked through the wiki
[x] I have updated MonitorControl to the latest version

Describe the bug
When Terminal is the active application on the external display, the built-in display brightness is adjusted instead of the external.
To Reproduce
Steps to reproduce the behavior:

Go to 'Terminal' (Make sure it's the focused application)
Use the brightness keys to increase or decrease brightness

Expected behavior
The external display brightness would change.
Screenshots
N/A
Additional context
N/A
Environment Information (please complete the following information):

macOS version: 10.15.6
MonitorControl version: 2.0.0
Monitor(s): Dell U2713HM

I'm unable to reproduce this, you're certain that the external monitor was "focussed" here? Because there's currently a bug where the external monitor will not be controlled if internal is "active/foccused" (when you click in it).

I've spotted this issue - only affecting the brightness keys, via the icon it still works - but I didn't need terminal to be in focus.
Seemed to me to be that when Terminal is running (but does not necessarily have an open window) and Secure Keyboard Entry is enabled in Terminal, then brightness keys only affect built in Mac monitors.
Turn off Secure Keyboard Entry and it works again, so I assume it's caused by the fact Secure Keyboard Entry is meant to  prevent key loggers etc and so MonitorControl is unable to receive the key presses?

@clheppell That makes a lot of sense, I'll try it out to confirm when I get time 😊

I just tested and Security Keyboard Entry was it!
Thanks


gist 8.2.0 and gist 9.0.0 are not using git branching

I see some issues being closed as "resolved" in "gist 8.2.0" and/or "gist 9.0.0" but there are no branches for such revisions.
I strongly urge that we use this branching/workflow scheme for gist changes:
https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow
This approach uses feature branches off the master and pull requests to make changes.

I'm trying #49


Alerts duplicate error messages in slack channel

Problem:
I created an alert to monitor all helmreleases in a specific namespace and it's making huge traffic of errors in a slack channel.
It duplicates errors every certain period and alerting despite no changes to helmreleases.
Here is alert file:
apiVersion: notification.toolkit.fluxcd.io/v1beta1
kind: Alert
metadata:
  name: integration
  namespace: flux-system
spec:
  summary: "integration"
  providerRef:
    name: slack
  eventSeverity: info
  eventSources:
    - kind: HelmRelease
      namespace: integration
      name: '*'

Question:
Is it possible to trigger an alert only if we made changes to helmrelease, not the status of an existing one?
Is it possible to not duplicate alert message that we already received after certain period of the time?

some of our helmreleases has error "reconciliation failed: install retries exhausted" and mostly we are ok with it
it would be nice to only get this error once when it appears

@dimakyriakov by design, error alerts are sent every 5 minutes until they are resolved. You can increase the internal with the ---rate-limit-interval, flags docs here https://fluxcd.io/flux/components/notification/options/

thank you for response Guys, i will close the ticket

@stefanprodan, hey, i just want to ask where exactly I can set --rate-limit-interval option?
I created provider and alert in yaml file. For me it looks like it's options for cli.

That’s a controller flag, see here how to change them https://fluxcd.io/flux/cheatsheets/bootstrap/

This is my kustomization.yaml file. You mean I have to increase --rate-limit-interval for name: notification-controller?
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- gotk-components.yaml
- gotk-sync.yaml
patchesStrategicMerge:  # these are tuned for demonstration and debugging
- |-
  apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
  kind: Kustomization
  metadata:
    name: flux-system
    namespace: flux-system
  spec:
    patches:
    - target:
        version: v1
        group: apps
        kind: Deployment
        name: notification-controller
        namespace: flux-system
      patch: |-
        - op: add
          path: /spec/template/spec/containers/0/args/-
          value: --rate-limit-interval=10s  # do not discard messages that are sent again after 10s+
    - target:
        version: v1
        group: apps
        kind: Deployment
        name: kustomize-controller
        namespace: flux-system
      patch: |-
        - op: add
          path: /spec/template/spec/containers/0/args/0
          value: --concurrent=5             # increase the number of Kustomizations processed at once
        - op: replace
          path: /spec/template/spec/containers/0/resources/limits/cpu
          value: "2"                        # allow KC access to more CPU
        - op: replace
          path: /spec/template/spec/containers/0/resources/limits/memory
          value: "2Gi"                      # allow KC access to more memory
    - target:
        version: v1
        group: apps
        kind: Deployment
        name: source-controller
        namespace: flux-system
      patch: |-
        - op: replace
          path: /spec/template/spec/containers/0/resources/limits/cpu
          value: "2"                        # allow KC access to more CPU
        - op: replace
          path: /spec/template/spec/containers/0/resources/limits/memory
          value: "2Gi"                      # allow KC access to more memory
    - target:
        version: v1
        group: apps
        kind: Deployment
        name: helm-controller
        namespace: flux-system
      patch: |-
        - op: add
          path: /spec/template/spec/containers/0/args/0
          value: --concurrent=12             # increase the number of HelmReleases processed at once
        - op: replace
          path: /spec/template/spec/containers/0/resources/limits/cpu
          value: "2"                        # allow KC access to more CPU
        - op: replace
          path: /spec/template/spec/containers/0/resources/limits/memory
          value: "2Gi"                      # allow KC access to more memory

--rate-limit-interval=10s  # do not discard messages that are sent again after 10s+

No wander you get alert spam, the default is 5m, you can increase it to a value to fits for you.


Add consul-template support

Current State:
The current webhook only supports the KV store and KPI for our use case we would need support for the AWS and database secrets backends.
Doing it using Seth Vargo’s method is a lot of work, taking all that manual config and CnPing it everywhere. I have been looking at the code for the webhook (https://github.com/banzaicloud/bank-vaults/blob/master/cmd/vault-secrets-webhook/main.go, https://github.com/banzaicloud/bank-vaults/blob/master/cmd/vault-env/main.go) and I want to explain what I have worked out/reverse engineered so I know we are on the same page and then ask some questions.
the general workflow:
• you look for pods with the right EnVars/ConfigMaps/Secrets with the correct prefix ‘vault:’ or ‘>>vault:’
• you then inject an init container running vault that gets a vault token and copies it into the /vault/ volume
• you inject another init container that copies vault-env into the /vault/ volume
• you then inspect every container in the pod, add the required env vars for vault-env
• you then concat the container command and args and turn that into the args and make /vault/vault-env the command
• you then run /vault/vault-env
• vault-env parses the env/configmaps/secrets updates the env/configmaps and secrets per the correct strings (value: vault:secret/data/accounts/aws#AWS_SECRET_ACCESS_KEY)
• vault-env then executes the binary ( )
KV/KPI are only supported because when you make the request to vault you are only handling the returned data for those backends. To support other backends we need to add smarts to handle the returning of passwords and usernames or a data object for that secrets backend.
vault-env is only run once when the container starts, meaning only those env/ secrets/configmaps are only manipulated once. This means it does not handle expiring credentials/a TTL on a returned credential because this would mean manipulating the current running containers or triggering a replica set update.
I would like to suggest a new feature of adding consul-template as an additive to vault-env, not as a replacement but as something that can be used in conjunction to solve a different problem. The difference are:
vault-env:
• limited support for secret backends.
• does not support TTL.
• has cool env/secret/config map updating mechanism.
• takes over the live container.
• does not deal with files.
consul-template
• supports all backends out of the box with its templating.
• runs as a side car daemon and handles TTL on secrets.
• writes config to a file system (preferably a memory resident one so it disappears on tear down) for the app to pick up.
• can HUP/run a command to tell the process to take the updated config.
• does not deal with env/secrets/config maps.
Implementation:
Configuration per pod would be necessary for consul-template which can have a large config file, the user would need to maintain a configmap with this configuration which can be referenced via an annotation.
We would require one more annotation:

ct-configmap (string) = CT_LOCAL_CONFIG.

This should trigger the addition of the consul-template sidecar and related environment variables so the env var CT_LOCAL_CONFIG can be populated for consul-template.
Depending on version of k8s and what feature gates are enabled, shareProcessNamespace: true should be either enabled or disabled (may want an overriding annotation for this?).
You will need to add a volume that dies with the pods for consul-template to write to:
     volumes:
	     - name: secrets
	       emptyDir: {}

If no EnvVars/ConfigMaps/Secrets are found, the init container copy-vault-env should not be triggered and all related volumes and volumes mounts should be handled.
Additional configuration for consul-template ‘command’ to run when a change has been made will need to be maintained by the user in their deployment. Sane defaults to HUP the main process can be implemented or omitted.
Open for comments or thoughts on how to make it better!

@jurgenweber Thanks for this implementation! Two quick questions:

if I understand correctly, secrets are not injected via InitContainer but only via Sidecar. Therefore, the main application may start without the secrets having been written on the shared volume yet. Have you considered this race condition?
Can I mount the volume containing the secrets in a specific path inside my application or is it injected by the webhook in a predefined path?

@marcoreni

You do not really need to concern yourself with the race condition, it is mitigated/handled. If your app is up before consul-template has had the opportunity to write your file, your ready/live probes should not be returning true and when consul-template has the opportunity to do it successfully you can also tell it to HUP or communicate with your application somehow to re-read the config.

The volume mount is /vault/secrets... you can make the filename anything you want but that part of the path is hardcoded... We could make this 'settable' if you need it to be.

@jurgenweber Thanks for your answer. Having the path configurable would be nice, we would be able to inject the environment file directly into the application folders

https://github.com/banzaicloud/bank-vaults/pull/669


I run mitmweb but get "OSError 98 Address already in use" error

Steps to reproduce the problem:

Download https://snapshots.mitmproxy.org/4.0.4/mitmproxy-4.0.4-linux.tar.gz
Extract archive
Run chmod +x mitmproxy
Run chmod +x mitmweb
Run chmod +m mitmdump
Run ./mitmweb

Any other comments? What have you tried so far?
System information
Cinnaman Linux Mint 19.1 Tessa
~ $ python3 --version
Python 3.6.7
python --version
Python 2.7.15rc1

mitmproxy --version
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 574, in _build_master
ws.require(requires)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 892, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 783, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (urwid 2.0.1 (/usr/lib/python3/dist-packages), Requirement.parse('urwid<1.4,>=1.3.1'), {'mitmproxy'})
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/mitmproxy", line 6, in
from pkg_resources import load_entry_point
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 3088, in
@_call_aside
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 3072, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 3101, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 576, in _build_master
return cls._build_from_requirements(requires)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 589, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 778, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'urwid<1.4,>=1.3.1' distribution was not found and is required by mitmproxy
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 145, in apport_excepthook
os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_bin_mitmproxy.1000.crash'
Original exception was:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 574, in _build_master
ws.require(requires)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 892, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 783, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (urwid 2.0.1 (/usr/lib/python3/dist-packages), Requirement.parse('urwid<1.4,>=1.3.1'), {'mitmproxy'})
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/mitmproxy", line 6, in
from pkg_resources import load_entry_point
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 3088, in
@_call_aside
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 3072, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 3101, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 576, in _build_master
return cls._build_from_requirements(requires)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 589, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 778, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'urwid<1.4,>=1.3.1' distribution was not found and is required by mitmproxy

Getting the same when running this on Ubuntu 18.04.3 LTS:
mitmdump -R http://localhost:8080 -p 8888
Python 2.7.15+ is the default.

We just merged a brand new protocol implementation - if you can repeat the problem with the latest version from git-master, please re-open this issue.


Port demos to TypeScript

Can you please provide source code that ports Sketchbook latest demo - https://jblaha.art/sketchbook/0.4/ to TypeScript?

I'm afraid someone more experienced with TypeScript will have to tackle this. I just tried to make a sample TS project but got stuck on compiling it. And importing sketchbook through a TS module gives me MIME errors. But I generally have no idea how TypeScript development works. I understand that the way Sketchbook is setup now using just Webpack is in itself unusual. And I don't know what the "usual" way is.
Maybe it's possible that just tweaking the Webpack configs will get us somewhere? What is your project setup? Did you get any specific error messages?
It's somewhat ironic but I don't feel qualified to fix this. I know the syntax of TypeScript but I always found that actually using it is very confusing and strangely convoluted.

I've removed the NPM usage section from readme. Unless someone can provide a working example of NPM usage, I don't know that it's possible to use it that way right now.

Aham, so you are saying that the TypeScript npm package is not working as the min.js version of the library?
If that's the case I think I can invest some time in TypeScript package.

I think we're misunderstanding each other. Lets resolve this on Discord.


VirtualFreeEx missing

Actual behavior
Cannot add VirtualFreeEx to the NativeMethods.txt list
Expected behavior
For it to appear in PInvoke.
Repro steps

NativeMethods.txt content:

VirtualFreeEx

NativeMethods.json content (if present):

Context

CsWin32 version: 0.3.106
Target Framework: net8
LangVersion: latest

Nvm, the source generator just had its moment.


fix: improve change detection for GHAs

SUMMARY
Recently with https://github.com/apache/superset/pull/27867 (upgrading) pylint, we discovered that many python-related checks that should have run didn't run. The conditional execution system was uneven and showing different issues.
This PR streamline the whole conditional execution of github actions across the board.
The problem:

many, imperfect ways to do file change detection

native GHA paths triggers that are incompatible with "required checks" (and require no-op.yml, to the script)
a shell script that's a bit cryptic and a bit verbose and error-prone

actions that should be conditional but aren't set up that way

The solution:

creation of a single reusable action for all file-based conditional execution
introducing scripts/change_detector.py, a simple script inspired by scripts/ci_check_no_file_changes.sh, but more advanced and readable, handling both the pull_request and push context
moving all actions with file-related triggers to using this
getting rid of the no-op.yml hack altogether

TESTING
A fair amount of manual testing here, triggering with/without python/frontend/docker changes and making sure that the right steps get executed or skippped

Now I'm realizing that some of the files I touched here use ./scripts/ci_check_no_file_changes.sh and others the "if/no-op" pattern, which is not super elegant but pretty functional and DRY. Let me standardize one way or another here.

I'll merge since we had 3 reviewers looking into this one so far. I will be monitoring master and upcoming PRs to make sure the right jobs are ran or skipped.

Hello there, can anyone help me? I want to add new currency by overwriting config file, where I can see the list of all currencies or locales

Please open a new issue. You start by searching the codebase for currency-related terms or symbol.


Support generating Substrait plans

Description
From @roeap:

Generate query plans for operations requiring current table data as substrait (https://substrait.io) plans to integrate with different query backends

(py)arrow has initial support for substrait - https://github.com/apache/arrow/blob/master/python/pyarrow/substrait.py
Datafusion has experimental substrait support - https://github.com/datafusion-contrib/datafusion-substrait
DuckDB seems to be working on it - https://github.com/duckdblabs/duckdb-substrait-demo

Use Case
Related Issue(s)

I'm very interested in pursuing this as well, but I haven't looked into it enough to have a clear idea of what API we should offer.
One idea I had was a function DeltaTable.expand_substrait(read_rel: ReadRelation) -> SubstraitPlan, where you would pass a read relation with the projection and filter, and we would give the expanded plans with all the Delta prototol details embedded and files already pruned. But perhaps there's a more straight forward way.

Thinking about this a little more, one goal might be to implement Substrait support that will allow us to write an ADBC driver for Delta Lake. That will allow us to support more engines / databases without having to do a bunch of one-off implementations. I'll try to draft a rough design of what we need for ADBC, and then use that to determine what we might need for Substrait integration. I also need to see what the state of these are in the Rust ecosystem.

I think both approaches (read relation & ADBC) are worth pursuing with their own tradeoffs.


Add preliminary AWS support for node agent

First step in supporting AWS. To make it truly work we'll need some refactoring in the codebase. For example, na.createRequest() needs to be pluggable to correctly populate NodeAgentCredentials field in request message.

@crazytan: Adding do-not-merge/release-note-label-needed because the release note process has not been followed.

One of the following labels is required "release-note", "release-note-action-required", or "release-note-none".
Please see: https://github.com/kubernetes/community/blob/master/contributors/devel/pull-requests.md#write-release-notes-if-needed.
Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

I signed it!

/lgtm


feat: implement DEV-only messages

You already had process.env.NODE_ENV check, but I had to refactor it so it'll work for consumers (and replaced with easy __DEV__ variable).
I also added "sideEffects": false as I'm not sure if DCE for these branches works without it (it needed to be added anyway).
Resolves #841

Realizing that the umd bundle needs to have 2 versions (DEV and PROD) since theres no Node variables. Will push in a sec

Two remaining things:

It seems Rollup prefers esm over es word by default now. Should we use that?
I think we should call the file popper not index. It shows up better in DevTools (e.g. perf tools) and stuff like webpack-sourcemap-analyzer when you can see the file name.

esm is okay to me
Maybe we could have index.js that only requires popper.js, at least we keep the standard entrypoint to help new contributors to see where's the entrypoint?
I was considering to get rid of the .js suffix in the package name, maybe call it popperjs to make everybody happy? We also have the @popper namespace we could use to do something like @popper/core or whatever;
3b. I'd keep RequireJS support, Bootstrap depends on Popper.js, and their customers use a lot of legacy systems;
I like the folder approach, especially because the main entrypoint needs to live together with all the .js.flow files that need to live in the same folder;

Done
So you can do import Popper from 'popper.js/dist/esm' without specifying any filename, right? I wonder how necessary that is, is it difficult for Rollup to generate a bundle that does that?
I do like that! @popper/core, @popper/react seems nice. I've sort of embraced the .js in my lib but it's kind of tacky 😆
Makes sense, we'll leave it

I'm not sure if Rollup should be concerned about this, I was mainly thinking about the need to have a src/index.js to help people understand where the code starts.

Ah I meant the dist files. So dist/popper.js not dist/index.js.
Btw what's the purpose of the  "module": "lib/index.js", can't they use the esm dist file? If you want to export a bunch of utils, that should be possible with esm?

I see, yeah let's use popper.js instead then.
I'm not sure what you mean with your question, "module" should be used by bundlers to resolve what file to import, or not?

You have a separate build script for the es version, so it's not using Rollup's bundled file, it's a directory with a bunch of separate files.

WHat's the issue? I don't follow 😅

You have this:
  "module": "lib/index.js",

and this script
  "build:es": "babel src -d lib --ignore '**/*.test.js','**/__mocks__'",

Why? instead of (after the renaming I've done):
  "module": "dist/esm/popper.js",

Using Rollup's file?

Because that's a bundle, it can't get tree shaked (AFAIK) and you can't import modules singularly.

With "sideEffects": false bundled files will be tree-shaken (top-level code iirc). You can export individual modules in the bundled file for the consumer as well. With the current file in lib/index.js, none of the utils are exported to use either?
What about a separate directory with its own package.json?:
import {getScrollParent} from 'popper.js/dom-utils';

What's the problem with the /lib approach? It seems easier to use to me.

Yeah I'd say it's fine tbh 👍. Forget what I was saying 😅

@FezVrasta I think this PR is fine now, wanna review?


Hard blink functionality? (Emulating a flakey / bad flashlight)

I've got a project that requires a "flakey flashlight", and remembered my nifty programmable Hexbright.
I thought I was clever trying to use this snippet to make it act like an intermittent connection:
hb.set_light(0, 500, NOW); //Turn on bulb
delay(random(100, 1000)); //leave it on for a bit
hb.set_light(CURRENT_LEVEL, 0, 40);  //let it die
delay(random(1000, 4000)); //leave it off a while

But now I see that the library really doesn't like working with inline delays. I've cribbed your bike strobe code to get me sort of close, but it doesn't let me have that "solid on" effect for a while before starting the decay.
I don't mind beating my head on the code wall to get the effect I'm after, but I sure could use a pointer to what methodology would do the job.
For what it's worth, I've added the successful code I have running so far.
Thx,
Dave
(rename to .ino as Github doesn't seem to like the .ino extension...)
hexbright_slenderman.txt

Ah. I just found other fancode at https://github.com/jangrewe/hexbright/blob/master/platypus/platypus.ino. I think I'll beat this up on my own YET....

I'd start with something like this:
int light_change_time = 0;
bool light_on = false;

void loop() {
  if millis() > light_change_time {
    if light_on {
      hb.set_light(CURRENT_LEVEL, 0, 40);  //let it die
      // stay on for up to 15 seconds
      light_change_time = millis() + random(15000)
    } else {
      hb.set_light(0, 500, NOW); //Turn on bulb
      // turn off for 0-2 seconds
      light_change_time = millis() + random(2000)
    }
  }
  if millis() > light_off_time {
    hb.set_light(0, 500, NOW); //Turn on bulb
  }
}

Excellent. Thanks for the tip. I've rounded out the codebase for anybody else wanting to do the same. Sorry, bit of a github newb, so I'll just drop a copy here.
hexbright_slenderman_0.2.txt


Doc: cleanup build errors.

Minor cleanup for clean doc building.

Yes, it's a warning, but I get "warning treated as error" which I presumed was your doing. I don't know how this got through the CI.


make api consistent for objectfunc

Codecov Report

Merging #3 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master     #3   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           3      3
  Lines         324    324
=====================================
  Hits          324    324

Impacted Files
Coverage Δ

entry.go
100% <100%> (ø)
: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 d7cc2ff...bbeb7f6. Read the comment docs.


Add stack guard pages

Use r/w protected pages on top of stacks to guard against stack
overflow.  The number of VM pages to use for guarding can be set
via the config option proxy.config.thread.default.stackguard_pages.

Frequently asked questions:
Q: How much overhead does this add?
A: The VM mappings cost space in the page table.  It also adds fragmentation to the page table since adjacent mappings can no longer be coalesced due to having different protection flags.
Q: Do the stack guard pages map to physical memory?
A: Not when I tested on Linux.  The pages are not marked as present initially.  I believe they're mapped on demand.
Q: Why did you change all stack allocations to use mmap()?
A: mprotect() requires that the memory be first allocated with mmap().
Q: Why do you allow for more than one page of stack guard?
A: Stack hopping can happen where stack allocations of larger than one page in size can skip the guard page.  Having more pages of guard reduces the likelihood of this.  See this article for more details.

I want this on the 9.2.x branch because this will detect the stack overflow instead of the random crash.
@zwoop What do you think about this should go to 9.2.0 or 9.2.1?

I want this on the 9.2.x branch because this will detect the stack overflow instead of the random crash.
@zwoop What do you think about this should go to 9.2.0 or 9.2.1?

Just to document this: we need to make sure that wherever this is ported, the Apple Silicon build fix goes with it:
https://github.com/apache/trafficserver/pull/8999


Grammar and spelling corrections

Description
Grammar and spelling corrections.

Coverage decreased (-0.03%) to 72.776% when pulling c29b27c593f9668842e1803c17d2768a408506af on NikolaJankovic:master into 7730144dec01b4cdbf0205b936a200e54a287ebb on Miserlou:master.


Upscaling?

An odd request, but YouTube only allows 60fps videos at 720p or higher.
So, I wondered if I could use transcode-video as part of my workflow to upscale my 4:3 ratio 720x480(640x480)@60Hz grabs of PlayStation 2 footage to 1080x720(960x720)@60Hz?
 Forgive me :)
I see:
    --720p          fit video within 1280x720 pixel bounds
    --max-width WIDTH, --max-height HEIGHT

but they do not upscale
And:
    --pixel-aspect X:Y

but it does not accept 1.5 as a scale value nor allow upscaling.
How do you recommend I do this? Is it possible?

@gingerbeardman Sorry I took so long to respond. I was traveling yesterday.
Since it's such an edge case and I don't want users to somehow do it accidentally, the only way to upscale with transcode-video is to pass options directly to HandBrakeCLI.
Try adding --handbrake-option width=960 --handbrake-option height=720 to your command line and see if that works.

Thanks Don!
--handbrake-option width=1080 --handbrake-option height=720
and sometimes
--handbrake-option width=1440 --handbrake-option height=1080
are just the ticket!
I think I will buy a video scaler to do this upscaling step in hardware — seems like a better use of my time/money.

@gingerbeardman You are very welcome, sir! Glad that worked. :)

Circling back to this, recording Wii I am now doing:
hw-transcode-video *.m2ts --handbrake-option width=1280 --handbrake-option height=720 --pixel-aspect 4:4 transcode-video --crop 10:2:2:8 --mp4
to upscale SD 720x480@60 anamorphic widescreen to 16:9 720p@60
Just posting here for my own records! LOL


[T-Bot] Add logic for message deduplication and dismissal

[x] Help messages should not be duplicated in TBotManager, i.e. not possible to 'spam' same group of messages.
[ ] Add uuid for help prompt messages. NOT REQUIRED
[ ] Logic required for removal of single messages from TBot queue while keeping TBotManager open.
[ ] Animations to cover message removal.

Closing issue:

duplicate messages prevented in tbotactions.push
removal of single TBot messages not required (from design team)


added the services page

👷 Deploy Preview for waterfrontiers processing.

Name
Link

🔨 Latest commit
9bcde2a97f8b8a8a6b78a9e5a454cbe518310452

🔍 Latest deploy log
https://app.netlify.com/sites/waterfrontiers/deploys/653a1665b2c105000824a114


Some Documentation

Summary
Here is some documentation on how to use terra-dev-site, however there is still more to add at some point. See #29 for what still needs included.

N/A


[stable/sonatype-nexus] Fix resources not applied + allow env var

This PR does two things (If two separate PR are required, I can do, but I thought that for these two small changes one PR would do fine):

Fix a typo:  .Values.resources does not exist in values.yaml, the key is .Values.nexus.resources.
Add the possibility to add env variables ( for INSTALL4J_ADD_VM_PARAMS, it will use the default value from the chart's values.yaml overwritten by the user's values.yaml or via CLI).

/ok-to-test

/lgtm


ARROW-8523: [C++] Optimize BitmapReader

Replacing bit offset with bit mask improves about 15% performance
with gcc-7.5. Arm64 servers have similar performance uplift.
clang-9 doesn't benefit from this change.
Below are arrow-bit-util-benchmark(BitmapReader/8192) results.
Comparing performance of "current code" -> "after this patch".

cpu
gcc-7.5
clang-9

Intel E5-2650
118 -> 146
117 -> 118

Intel i7-4790
154 -> 191
155 -> 154

AMD EPYC-7251
119 -> 133
122 -> 123

I forgot to add jira no in the first commit, modified later. Looks jira status is not synced with this PR.
Shall I abandon and push a new PR?
https://issues.apache.org/jira/browse/ARROW-8523

@cyb70289 It's ok, we can keep this PR.

Cool, nice improvement

@pitrou @wesm
Oops, I only checked case "BitmapReader" from benchmark arrow-bit-util-benchmark. Obviously it's not enough.
I compared all cases just now and see huge performance drop from below 4 tests:
Before this patch:
BenchmarkBitmapAnd/32768/1                 563496 ns       563260 ns         1243 bytes_per_second=55.4806M/s
BenchmarkBitmapAnd/131072/1               2219810 ns      2218984 ns          318 bytes_per_second=56.3321M/s
BenchmarkBitmapAnd/32768/2                 561738 ns       561467 ns         1265 bytes_per_second=55.6577M/s
BenchmarkBitmapAnd/131072/2               2246229 ns      2245119 ns          305 bytes_per_second=55.6763M/s

After this patch:
BenchmarkBitmapAnd/32768/1                1653467 ns      1652680 ns          422 bytes_per_second=18.9087M/s
BenchmarkBitmapAnd/131072/1               6665501 ns      6661561 ns          105 bytes_per_second=18.7644M/s
BenchmarkBitmapAnd/32768/2                1670793 ns      1670246 ns          423 bytes_per_second=18.7098M/s
BenchmarkBitmapAnd/131072/2               6702369 ns      6698957 ns          103 bytes_per_second=18.6596M/s

Before reverting this patch, I would like to understand why it happens.
BTW: we definitely need continuous benchmark tools to detect these things early.

Opened a jira card https://issues.apache.org/jira/browse/ARROW-8537

This change introduces severe branch misses in certain conditions. See perf logs below. I changed benchmark code to run only the problematic test case.
Without this patch
        807.415826      task-clock (msec)         #    0.979 CPUs utilized
                83      context-switches          #    0.103 K/sec
                 0      cpu-migrations            #    0.000 K/sec
               427      page-faults               #    0.529 K/sec
     2,285,801,407      cycles                    #    2.831 GHz                      (83.17%)
         2,313,785      stalled-cycles-frontend   #    0.10% frontend cycles idle     (83.16%)
       915,631,177      stalled-cycles-backend    #   40.06% backend cycles idle      (82.93%)
     9,997,208,858      instructions              #    4.37  insn per cycle
                                                  #    0.09  stalled cycles per insn  (83.66%)
     1,679,799,451      branches                  # 2080.464 M/sec                    (83.66%)
           106,599      branch-misses             #    0.01% of all branches          (83.41%)

With this patch
        902.557236      task-clock (msec)         #    0.980 CPUs utilized
                94      context-switches          #    0.104 K/sec
                 0      cpu-migrations            #    0.000 K/sec
               427      page-faults               #    0.473 K/sec
     2,567,879,767      cycles                    #    2.845 GHz                      (83.17%)
        88,266,680      stalled-cycles-frontend   #    3.44% frontend cycles idle     (83.17%)
        20,826,862      stalled-cycles-backend    #    0.81% backend cycles idle      (83.03%)
     2,518,949,193      instructions              #    0.98  insn per cycle
                                                  #    0.04  stalled cycles per insn  (83.62%)
       847,459,928      branches                  #  938.954 M/sec                    (83.61%)
        75,187,208      branch-misses             #    8.87% of all branches          (83.39%)

Absolute counts are not comparable as gtest runs different loops for each test.
The point is branch-misses jumps from 0.01% to 8.87%, which causes high frontend stall(cpu wait for fetching code to execute), and ipc(instructions per cycle) drops from 4.37 to 0.98.
I didn't figure out which branch is miss predicted and why. My haswell cpu is too old to support branch tracing. My guess is this line, no concrete justification.

To be honest, BitmapAnd should probably be rewritten using Bitmap::VisitWords.
But we can revert anyway if we fear regressions may appear in other workloads.

BTW: we definitely need continuous benchmark tools to detect these things early.

Agreed. Hopefully some progress can be made on this in 2020 since the prior discussion in 2019 didn't go anywhere.

In the meantime, when we have microperformance patches like these it would be a good practice in the future to make sure that performance results are reproduced in the codebase's benchmark executables rather than on an ad hoc basis

@wesm, actually I did use codebase's benchmark executable. The problem is I only focused on one case that's directly related to this change. But ignored other cases that look not relevant, and finally found impacted.
Guess I can write a simple script to automate benchmark result checking as a temporary solution.

FWIW, we have some benchmark diffing code already written in
https://github.com/apache/arrow/blob/master/dev/archery/archery/benchmark
I'm not sure where this is documented / how to use it to check the output of a single executable
cc @fsaintjacques

See either archery benchmark diff --help or the benchmark section of the documentation. Archery can compare the same binary with different scenarios:

Commit
Toolchain
Compile flags

All it needs is two cmake build directory and it'll compare the benchmark binaries from there.


Kyber msg sizes

Where do these values come from for ct/sig and msg? This might be correct for round 1 but isn't for round 2. Can you check them again?
https://github.com/cryptoeng/pqdb/blob/86a1cddc81e3028830fb70e09e8c13b614362395/encryption/kyber/ccakem/param/512.yaml#L10

I got them from the Round 2 documentation (NIST's ZIP package). "Algorithm Specifications And Supporting Documentation Version 2.0" "March 30, 2019". Also fits the numbers here: https://pq-crystals.org/kyber/
What are the numbers you got?
Thanks for reviewing though (we should do this for all the schemes in here so far)

Yeah everything should be reviewed or at least sanity checked.

What are the numbers you got?

The file you mention has these numbers :arrow_down:

oops, I didn't read well. I just checked whether there's a 800 :D

Can this get closed?


Refactor command loading API

This adds a LoadCommandsFromFS loader that makes it possible to
load commands from more than just YAML files

Relates to https://github.com/go-go-golems/glazed/pull/120 and https://github.com/go-go-golems/glazed/issues/116


AddScribanExpress and other IServiceCollection methods cannot be accessed from the nuget package.

there is another package  ScribanExpress.AspNetCore package to convenience methods

tried package and working fine


pull request for e2e test at 11/05/2016 00:56:01

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[Updatecli] Update version to 2.227-jdk11

! Experimental project
This pull request was automatically created using olblak/updatecli
Based on a source rule, it checks if yaml value can be update to the latest version
Please carefully review yaml modification as it also reformat it.
Please report any issues with this tool here

I am currently working on a fix for this

this shouldn't be open anymore


Automatically follow user's OS-level dark/light preference

Over the last year or two it's become common for apps to have both a dark and a light color scheme, and let the user choose between them. Zulip has this.
Since 2019 this has become a thing at the OS level. And in recent months, I've seen more and more apps noticing my OS-level setting and following along. We should do the same, at least by default -- when the user goes into system-wide settings and says they want the device's screen to stay dark instead of bright, we shouldn't wait for an individual invitation.
This becomes especially significant now that it's an OS-level feature, in both Android and iOS, to have the light/dark mode switch back and forth every morning and evening. The only way that can work as a good experience is when apps all follow along automatically.
RN v0.62 adds an API for this. So I think it makes sense to hold off on trying to implement this behavior until we've done that upgrade, aka #3782. Done!

As part of this, let's deprecate the 'default' name, like so:
- export type ThemeName = 'default' | 'night'
+ export type ThemeName = 'light' | 'night'

As I said over at https://github.com/zulip/zulip-mobile/pull/4046#discussion_r414032884:

Hmm. Taking a look at Apple's HIG document on Dark Mode, though, it makes it sound like "default" semantics shouldn't apply to either theme at the application level, but rather at the device level:

In Settings, people can choose Dark Mode as their default interface style and schedule automatic changes between the appearance modes. Because people make these choices at a systemwide level, they generally expect all apps to respect their preferences.

Perhaps we might actually deprecate the "default" name, and use "night" or "light" everywhere (with our ThemeName type being 'light' | 'night' instead of 'default' | 'night' as it is currently), at or on the path to #4009.

and Greg agreed.

It'd also be good to switch to calling it "dark mode" instead of "night mode" or "night theme" -- as "dark" is what both Google and Apple call it, and also is more logical because there's no inherent reason to only use it at night.
That, or at least the UI side of it, should happen in coordination with the webapp, though, so the same terminology is used across platforms.

It'd also be good to switch to calling it "dark mode" instead of "night mode" or "night theme" -- as "dark" is what both Google and Apple call it, and also is more logical because there's no inherent reason to only use it at night.

(To be more precise on the Google side: it's "dark theme" in the UI and user-facing docs, and they follow that in the Material docs and guide-style developer docs. It's "night mode" in the API, reflecting API choices made for API 8 aka Android 2.2 Froyo, in 2010.)

I would like to work on this issue @chrisbobbe and @gnprice 😃

When in "follow the OS" mode, we'll want to make sure to listen for changes in the OS-level setting and apply them automatically, right away.
For that, I could imagine an approach that uses Appearance.addChangeListener(), with that listener logic probably living in src/boot/AppEventHandlers.js.
Or, one that uses the useColorScheme hook.
I think I slightly prefer using the useColorScheme hook, as I've been keeping an eye on the growth of AppEventHandlers and wondering if there's a better way we could handle the things it handles.
state.settings.theme is currently what the UI logic reads to decide whether to show light or dark components (see src/boot/ThemeProvider.js). It has two possible values, currently: one for light mode, one for dark mode.

For explicitness, I think the task is to change the current "Night mode" switch on the settings screen, so that it's called "Theme" (or similar) and lets the user choose among these three options (naming TBD):

Light
Dark
Follow OS

And to rewire our Redux logic for this setting, and also use that bit of React Native API Greg mentioned, so the setting works as expected.

Hey there @chrisbobbe and @gnprice, I'll take a shot at this Issue.

Great, thanks! I see you've started a discussion on CZO; thanks! 🙂

Does resolving this issue also solve #5169?

Yep, it does.

This is still a feature we want, but we've just discovered -- see https://github.com/zulip/zulip-mobile/pull/5527#issuecomment-1302588873 -- that our intended approach for solving it won't work (due to a bug in React Native) and we'll need something a bit more complex.
Because this issue thread has gotten long, I just filed a fresh issue laying out the new approach: #5533. Closing this one in favor of that.

(I think I've covered in the new issue all the information from this thread that we'll need. But if I've missed something, please comment there.)


fix(hotfix): dedupe messages

Description
Currently messages with the same id aren't deduped even though existing code leads to suggest it should be the case and also the spec suggests so.
This change fixes this while introducing one more database hit than the previous solution.
This is an important hotfix and hence should be released while a more resource friendly solution can be developed.
How Has This Been Tested?
Added functional test
Due Diligence

[ ] Breaking change
[ ] Requires a documentation update
[ ] Requires a e2e/integration test update

did you read the PR details where I explicitly explain that this is a hotfix?
I am on-call for this service and it's my weekend. The fix I present meets the requirements and does not stand in the way of your preferred refactor.
You have all means to prioritize your preferred refactor solution through the normal routes that can be achieved during regular work hours now that I am closing the leak.


[tracking] Prepare script to generate class diagram from all sources

https://github.com/RedHatInsights/insights-results-aggregator-mock/issues/39

Added via https://github.com/RedHatInsights/insights-results-aggregator-mock/pull/62


[Bug Report] Inconsistent getCheckedNodes() on deselection of a parent

Element UI version
2.0.0-alpha.3
OS/Browsers version
Windows 7 / Chrome 61
Vue version
2.5.2
Reproduction Link
https://jsfiddle.net/frtjsbLu/
Steps to reproduce

Deselect 'Phone'
Deselect 'Computer'

What is Expected?
The this.selectedCategories to be empty.
What is actually happening?
this.selectedCategories is equal to [ { "id": 2, "label": "Laptop" }, { "id": 3, "label": "Desktop" } ]
this.$refs.tree.getCheckedNodes() is inconsistent.

Fixed in #7813


this.importModule broken in esm packages

Bug report

What is the current behavior?
I am using the Webpack loader API this.importModule which invokes vm.runInThisContext to execute the module code.
However, as soon as the package.json file includes "type": "module" vm.runInThisContext does not have access to require and module anymore:

If the current behavior is a bug, please provide the steps to reproduce.
Here is a reproduction:
https://github.com/jantimon/reproduction-webpack-import-module-bug
webpack.config.js

module.exports = {
    module: {
        rules: [
            {
                test: /\.js$/,
                use: require.resolve('./loader.cjs'),
                issuerLayer: "",
                exclude: /node_modules/,
            },
        ],
    }
};

./loader.cjs
module.exports = function (source) {
    const callback = this.async();
    this.importModule('./banner.js', {
        layer: "banner-loader"
    }, function (err, result) {
        if (err) return callback(err);
        callback(null, (result?.banner || "") + source);
    });
}

./banner.js
const cowsay = require("cowsay");

console.log(cowsay.say({
    text : "I'm a moooodule",
    e : "oO",
    T : "U "
}));

module.exports = {
    banner: `;console.log("Build at ${new Date()}");\n`
}

What is the expected behavior?
module and require should be available in webpack/lib/javascript/JavascriptModulesPlugin.js
The following change would fix the bug:
diff --git a/node_modules/webpack/lib/javascript/JavascriptModulesPlugin.js b/node_modules/webpack/lib/javascript/JavascriptModulesPlugin.js
index 4249a2f..31cd251 100644
--- a/node_modules/webpack/lib/javascript/JavascriptModulesPlugin.js
+++ b/node_modules/webpack/lib/javascript/JavascriptModulesPlugin.js
@@ -441,8 +441,11 @@ class JavascriptModulesPlugin {
 					const { module, moduleObject } = options;
 					const code = source.source();

+					const { createRequire } = require("module");
+					const universalRequire = typeof require !== "function" ? createRequire(module.resource) : require;
+
 					const fn = vm.runInThisContext(
-						`(function(${module.moduleArgument}, ${module.exportsArgument}, ${RuntimeGlobals.require}) {\n${code}\n/**/})`,
+						`(function(${module.moduleArgument}, ${module.exportsArgument}, ${RuntimeGlobals.require}, require, module) {\n${code}\n/**/})`,
 						{
 							filename: module.identifier(),
 							lineOffset: -1
@@ -453,7 +456,9 @@ class JavascriptModulesPlugin {
 							moduleObject.exports,
 							moduleObject,
 							moduleObject.exports,
-							context.__webpack_require__
+							context.__webpack_require__,
+							universalRequire,
+							moduleObject
 						);
 					} catch (e) {
 						e.stack += printGeneratedCodeForStack(

This fix would requires Node 12: The 'module.createRequire' is not supported until Node.js 12.2.0
Other relevant information:
webpack version:  5.90.0
Node.js version: 20.9.0
In Next.JS the problem exists also for typescript files even for ESM syntax:
https://github.com/jantimon/reproduction-webpack-import-module-bug/tree/nextjs

Honestly there are no problems here, you set "type": "module", it means all files are ESM, but banner.js is using require (you know that require does not exist in ESM), just rename banner.js to banner.cjs (or alternative solution is putting package.json with type: "commonjs" inside src). This is how Node.js and ESM logic works. I don't think we should change anything otherwise we won't follow and align ESM logic, also it will require introducing global variables and other things.

The problem is not about banner.js as it used webpack_require but rather the webpack generated code for the external import:
ReferenceError: require is not defined
Generated code for external commonjs "cowsay"
1 | module. exports = require("cowsay");

In the case of nextjs you have external commonjs "cowsay", but run code in ESM env (open .next/ and look at files), no problems with webpack here

renaming next.config.mjs to next.config.cjs works because next.config.cjs is ignored and therefore the loader will not be used
I am not sure what I could see inside the next folder this is the page.js:
throw Error('Module build failed (from ./loader.cjs):\nHookWebpackError: require is not defined\n    at tryRunOrWebpackError (/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:28:311563)\n    at __webpack_require_module__ (/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:28:131195)\n    at __nested_webpack_require_153754__ (/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:28:130634)\n    at Module.<anonymous> (javascript/auto|/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/build/webpack/loaders/next-swc-loader.js??ruleSet[1].rules[14].oneOf[6].use[0]!/Users/jannicklas/Desktop/webpack-import-module-bug/app/banner.ts|banner-loader:5:64)\n    at /Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:28:915116\n    at Hook.eval [as call] (eval at create (/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:13:28645), <anonymous>:7:1)\n    at /Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:28:131228\n    at tryRunOrWebpackError (/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:28:311517)\n    at __webpack_require_module__ (/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:28:131195)\n    at __nested_webpack_require_153754__ (/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:28:130634)\n-- inner error --\nReferenceError: require is not defined\n    at Object.<anonymous> (external commonjs "cowsay":1:1)\n    at /Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:28:915116\n    at Hook.eval [as call] (eval at create (/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:13:28645), <anonymous>:7:1)\n    at /Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:28:131228\n    at tryRunOrWebpackError (/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:28:311517)\n    at __webpack_require_module__ (/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:28:131195)\n    at __nested_webpack_require_153754__ (/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:28:130634)\n    at Module.<anonymous> (javascript/auto|/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/build/webpack/loaders/next-swc-loader.js??ruleSet[1].rules[14].oneOf[6].use[0]!/Users/jannicklas/Desktop/webpack-import-module-bug/app/banner.ts|banner-loader:5:64)\n    at /Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:28:915116\n    at Hook.eval [as call] (eval at create (/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/compiled/webpack/bundle5.js:13:28645), <anonymous>:7:1)\n\nGenerated code for external commonjs "cowsay"\n1 | module.exports = require("cowsay");\n\nGenerated code for javascript/auto|/Users/jannicklas/Desktop/webpack-import-module-bug/node_modules/next/dist/build/webpack/loaders/next-swc-loader.js??ruleSet[1].rules[14].oneOf[6].use[0]!/Users/jannicklas/Desktop/webpack-import-module-bug/app/banner.ts|banner-loader

I mean you will see files in ESM format, please open an issue in the nextjs repo, webpack works fine here

Thanks for your help and time @alexander-akait!
I'll try to investigate further to find out how module.exports = require("cowsay"); gets generated


Adding requestInterceptor option to api-docs plugin and pass it to SwaggerUI

Hey, I just made a Pull Request!
Adding requestInterceptor option to api-docs plugin and pass it to SwaggerUI. This will enable to configure a proxy or headers to be sent to all the request made through the Try it out button on SwaggerUI. For example use cors-anywhere
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[x] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

This PR has been automatically marked as stale because it has not had recent activity from the author. It will be closed if no further activity occurs. If the PR was closed and you want it re-opened, let us know and we'll re-open the PR so that you can continue the contribution!

Waiting response!

@Rugvip @camilaibs Comments have been addressed! let me know if something's missing to merge this

@Rugvip Addressed the changes. Let me know any further feedback!


Underscore to hyphen

Rename files to use hyphen instead underscore.
reviewer @viddo cc @xavijam @rochoa @javierarce

This branch has conflicts that must be resolved

:point_up: this should be fixed before merging
Also, verify that grunt test pass (CI is not run for PRs just yet, I'm working on fixing that as we speak).
Apart from that :+1:

working, I didn't update to the last version of master

no merge finally?

some hell when updating with master. Standardjs has punish me :)


Command palette actions keybindings does not visible for user defined actions

User defined action does not have hotkey bindings representation in command palette.

Configuration:
await initServices({
    configureEditorOrViewsServiceConfig: {},
    enableQuickaccessService: true,
    enableModelService: true,
    enableKeybindingsService: true,
    enableLanguagesService: true,
    debugLogging: false,
});

Indeed, the issue should be open on the monaco-vscode-api side. It's not demoed


Rare limit management

Hi @rizerphe
I'm surprised because I get a "rare limit" issue and I just create an Open AI / chat GPT account.
Have you ever face something like that?
thanks a lot
Fifof

Yes, this does happen a lot, especially with free OpenAI accounts - see #8 . ChatGPT is meant to only give you a few responses a minute, so OpenAI set a hard limit. This is enough for pretty much every chat application out there, but in this case we're not using ChatGPT for chat but for autocompletion. You have two options here - either adding a credit card to your OpenAI account, or adding a fallback model - AI21's Jurassic models or goose.ai's ones work well enough, you can do this by creating a preset in the plugin settings and setting it as the fallback. Unfortunately, there's not much I can do - even though ChatGPT definitely gives the best results, it's not ChatGPT's intended purpose, so these rate limits are not surprising.

I think there's a bug here. I have a paid OpenAI account, and I just installed the Companion plugin, added an API key, and typed one sentence. I didn't get a single suggestion, but I immediately got an error that says "Rate limit exceeded". Could it be that maybe the plugin is requesting a completion on every single keystroke? Perhaps it needs to wait for there to be a delay in typing of a few seconds before querying the API for a completion.


oah-bes-vm full screen mode issue

Unable to maximize oah-bes-vm window. Every time screen is freezing & oah-bes-vm getting stopped abnormally.

@harimohanr  https://github.com/Be-Secure/oah-bes-vm/pull/22 merged with oah-bes-vm main branch.


java.lang.RuntimeException:

When i run this project it is giving exception "nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml] "

Have you solved this problem?


[Feature Request] Custom cancel button redirect url

Feature Request
What's the feature you think Backpack should have?
Allow the developers to setup a custom redirect in the cancel button. ATM only list (forced if has access) or previous().
Have you already implemented a prototype solution, for your own project?
Indeed,
$crud->setOperationSetting('cancelButtonUrl', function ($crud) {
if(request()->has('my_attr')) {
    return url($crud->route.'/edit/'.request()->get('my_attr');
}else{
     return url($crud->route);
}
});

@if(!$crud->hasOperationSetting('showCancelButton') || $crud->getOperationSetting('showCancelButton') == true)
    getOperationSetting('cancelButtonUrl')) ? $crud->getOperationSetting('cancelButtonUrl')($crud) : is_null($crud->getOperationSetting('cancelButtonUrl')) ? ($crud->hasAccess('list') ? url($crud->route) : url()->previous()) : $crud->getOperationSetting('cancelButtonUrl') }}" class="btn btn-default">  {{ trans('backpack::crud.cancel') }}
@endif

Do you see this as a core feature or an add-on?
Core

Totally agree! I like the PR so far - nice and simple. Let's move the conversation there please.


Manage displays through shared_ptrs, refactor thread loop

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

195 of 202 (96.53%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-1.3%) to 97.881%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

tests/testutil.h
38
41
92.68%

barkeep/barkeep.h
157
161
97.52%

Totals

Change from base Build<PHONE_NUMBER>3:
-1.3%

Covered Lines:
462

Relevant Lines:
472

💛  - Coveralls


Memalloy: run compilers in outer loop

We currently have two loops in memalloy mode: an outer loop on C witnesses, and an inner loop on compilers.  Flipping the loops around so that all of the invocations of one compiler are kept together will make it easier to optimise things later on.

Added in f9c8a91cf05b0ad4f80e57f4d8eebadd6522c1da.


pkg/alignchecker: include header to avoid cgo warning

Signed-off-by: André Martins<EMAIL_ADDRESS>

This change is

test-me-please

test-me-please

@joestringer let's go with yours then :+1:


Make Max Number of Entries Configurable

The maximum number of versions displayed is hardcoded to 20 entries atm.
Pls make the maximum number of versions displayed in the table configurable by the user.

Pushed directly to master.
Default value is "10".


Update JavaScript components' API to match public API

What
Implement decision made from https://github.com/alphagov/govuk-frontend/issues/3479
Why
Who needs to work on this
Developers
Who needs to review this
Developers
Done when

Closing in favour of these more specific issues:

https://github.com/alphagov/govuk-frontend/issues/4008
https://github.com/alphagov/govuk-frontend/issues/4009
https://github.com/alphagov/govuk-frontend/issues/4010


Adding comment container to Post-Detail page

Part of #42 and #67
Proposed Changes

Setup the service and the structure for the PostDetails page
Added the Comment component, with dummy data for testing
Added Tree Comment functionality

This looks good to me, thanks frank!


Change every LOD's material slot ?

How to change the LOD's material slot with python?

import unreal_engine as ue

mesh = ue.get_selected_assets()[0]

# this is the new material index
new_index = 1

for section_key in mesh.SectionInfoMap.Map:
    info = mesh.SectionInfoMap.Map[section_key]
    info.MaterialIndex = new_index

Thanks for your reply, But why my code is doesn't work ?
here is my code and output:

Thanks for your reply , But why my code is doesn't work?
here is my code and output :

It look like all right, But my static mesh is have no change...

Are you using a recent release of the plugin ? Which ue version are you using ?

ue version is 4.18 , and plugin maybe a old version . I will trying the new version.

It work ! Thank you so much ! 👍


Inline various deserialization helper methods.

Inlining cautious helps LLVM figure out what is going on with array deserialization.  I figured we might as well do the others while we're here.

Updated.


[Github] Allow to specify entity collection for attributed entities

1. Why is this change necessary?
Sometimes you want a custom entity collection for you entities, but this was not possible yet for attributed entities.
2. What does this change do, exactly?
It adds a parameter to specify the entity collection for attributed entities, defaulting to EntityCollection.
3. Describe each step to reproduce the issue or behaviour.
4. Please link to the relevant issues (if any).
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[x] I have written tests and verified that they fail without my change
[x] I have created a changelog file with all necessary information about my changes
[x] I have written or adjusted the documentation according to my changes
[x] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfill them.

Imported from Github. Please see: https://github.com/shopware/shopware/pull/5241

[public] Shopware automated response: This issue is linked to the internal issue: NEXT-39609
[created from NEXT-39609, comment 512786]

[public]

FixVersion Change: <IP_ADDRESS>

This issue will be / was solved in Shopware version <IP_ADDRESS>.
[created from NEXT-39609, comment 512821]


Update istio release alert email destination

/lgtm

@hklai: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
addbd422206ab32aabcb13ddba76826297a658f0
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

This change will have to be pushed to airflow to take effect, which i will do later today.

/retest

@hklai: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
addbd422206ab32aabcb13ddba76826297a658f0
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@hklai: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
addbd422206ab32aabcb13ddba76826297a658f0
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Confign information not shown on page

Hello,
I am new to Jekyll and I am having some problems with the configuration. I am trying to add site author and social links. However, they are not showing on the page. Also I am not getting any errors.
I created a fresh copy of jekyll new theme page. I added additional details in configuration file, however the added information is not showing on the page.
It is not showing the following informations:

site.author.name anr site.author.email
anything under minima.social_links

Source code is here: https://github.com/Skupina6/skupina6.github.io/tree/new-theme. I ran it with jekyll serve
Is there something that I missed? Do I need to add icons / assets?
Thanks for your help

I think you need to run bundle update to make configuration file changes show.

I updated bundle, however I still have the issue

@matej2 Your Gemfile is using the released version of minima theme.
The feature you're looking for has not been released.
Since you're using GitHub Pages to deploy your site, use the jekyll-remote-theme plugin and point to this repository by editing your config file:
# _config.yml

- theme: minima
+ remote_theme: jekyll/minima
  plugins:
    - jekyll-feed
+   - jekyll-remote-theme

Thanks a lot, it worked.


Bitcoin4India Website

Start developing the website:
Navigation tab: About | Resources | Stories | Gallery | Upcoming Events | Support
Within Resources:

Resources for Devs
Resources to learn about Bitcoin
India and Bitcoin
3.1) Twitter handle of Indian Bitcoiners + A link to Hive.one list.
3.2) Status of Bitcoin in India.

Within Stories:

Snapshots of Indian Bitcoiners.
Stories of the work being facilitated by Indian Bitcoiners
Blogs written by Indian Bitcoiners

Gallery:

Photos and videos of past events. Taken by us as well as attendees.

Upcoming Events:

Give meetup link.
Conferences
Online Seminars - TBD.

Bitcoin Jobs:
Summer Of Bitcoin
Bitcoiner Jobs
(Mention curated by)

[ ] Wix template setup
[ ] Images upload as per template
[ ] Sections created as per the sitemap above
[ ] Insert images if need be
[ ] Stabilize on wix

@ASN-BitHyve  asked for Closed


doc: re-license documentation as CC By 4.0

I propose we change the license for the documentation to this: https://creativecommons.org/licenses/by/4.0/
I guess this needs approval from everyone who contributed to docs/, so here it goes, in order of contribution:
@saghul, @cjihrig, @neojski, @orangemocha, @bnoordhuis, @mkrufky, @jgeralnik, @creationix, @wavexx, @almosnow, @txdv, @beevik, @coreyfarrell, @dharesign, @Soarez, @yosuke-furukawa, @MostAwesomeDude, @btrask, @mscdex, @deleisha, @skeggse, @petkaantonov, @jhamhader, @bonifaido, @santigimeno, @Gottox, @imran-iq, @jasongin, @pmderodat, @neevek, @skypjack, @lomew, @baremetalfreak, @vcunat, @alexhultman, @plafer, @danbev, @hhellyer
If someone knows that is not required, please let me know and @libuv/collaborators will make the decision then :-)
If agreement is reached I'll follow up with a PR.

You have my sword.

And my axe.

And my Axe!

Fine by me.

Sure, no problem.
On 16 March 2017 at 13:21:53, Nándor István Krácser (
<EMAIL_ADDRESS>wrote:
Fine by me.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/libuv/libuv/issues/1254#issuecomment-287040710, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ASxmQ2_-xWxMstdxxHDcMcTGER_1lcYNks5rmSlggaJpZM4MfHig
.

I added one line, don't think I have anything to say. I'm neutral

And my spear.

Best Regards.
谢佳敏
On Thu, Mar 16, 2017 at 6:44pm, Saúl Ibarra Corretgé <<EMAIL_ADDRESS><EMAIL_ADDRESS>> wrote:
I propose we change the license for the documentation to this: https://creativecommons.org/licenses/by/4.0/ [https://creativecommons.org/licenses/by/4.0/]
I guess this needs approval from everyone who contributed to docs/, so here it goes, in order of contribution:
@saghul [https://github.com/saghul] , @cjihrig [https://github.com/cjihrig] , @neojski [https://github.com/neojski] , @orangemocha [https://github.com/orangemocha] , @bnoordhuis [https://github.com/bnoordhuis] , @mkrufky [https://github.com/mkrufky] , @jgeralnik [https://github.com/jgeralnik] , @creationix [https://github.com/creationix] , @wavexx [https://github.com/wavexx] , @almosnow [https://github.com/almosnow] , @txdv [https://github.com/txdv] , @beevik [https://github.com/beevik] , @coreyfarrell [https://github.com/coreyfarrell] , @dharesign [https://github.com/dharesign] , @Soarez [https://github.com/Soarez] , @yosuke-furukawa [https://github.com/yosuke-furukawa] , @MostAwesomeDude [https://github.com/MostAwesomeDude] , @btrask [https://github.com/btrask] , @mscdex [https://github.com/mscdex] , @deleisha [https://github.com/deleisha] , @skeggse [https://github.com/skeggse] , @petkaantonov [https://github.com/petkaantonov] , @jhamhader [https://github.com/jhamhader] , @bonifaido [https://github.com/bonifaido] , @santigimeno [https://github.com/santigimeno] , @Gottox [https://github.com/Gottox] , @imran-iq [https://github.com/imran-iq] , @jasongin [https://github.com/jasongin] , @pmderodat [https://github.com/pmderodat] , @neevek [https://github.com/neevek] , @skypjack [https://github.com/skypjack] , @lomew [https://github.com/lomew] , @baremetalfreak [https://github.com/baremetalfreak] , @vcunat [https://github.com/vcunat] , @alexhultman [https://github.com/alexhultman] , @plafer [https://github.com/plafer] , @danbev [https://github.com/danbev] , @hhellyer [https://github.com/hhellyer]
If someone knows that is not required, please let me know and @libuv/collaborators [https://github.com/orgs/libuv/teams/collaborators] will make the decision then :-)
If agreement is reached I'll follow up with a PR.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub [https://github.com/libuv/libuv/issues/1254] , or mute the thread [https://github.com/notifications/unsubscribe-auth/AAgF2sR1semBHpZGD0F60qUCGtmDlBG0ks5rmRJ4gaJpZM4MfHig] .

And all my orcs.  (My contribution was probably too small to need my approval, but I'm no lawyer.)

Fine by me.

Feel free to relicense my contributions.

Fine by me.

Sounds great.

Approval hereby granted

What happens if someone disagrees or don't respond? Can't you just revert their changes and go from there? That's how I interpret copyright/licenses.

Granted.

What happens if someone disagrees or don't respond? Can't you just revert their changes and go from there? That's how I interpret copyright/licenses.

Yes, that's my understanding too. We would be forced to do that, I guess, but I'm hoping nobody disagrees :-)

I'll just add a list in here who already has given approval:

[X] @saghul
[ ] @cjihrig
[ ]  @neojski
[X] @orangemocha
[ ] @bnoordhuis
[X] @mkrufky
[ ] @jgeralnik
[X] @creationix
[ ] @wavexx
[ ] @almosnow
[ ] @txdv
[ ] @beevik
[X] @coreyfarrell
[ ] @dharesign
[X] @Soarez
[ ] @yosuke-furukawa
[ ] @MostAwesomeDude
[ ] @btrask
[ ] @mscdex
[ ] @deleisha
[X] @skeggse
[ ] @petkaantonov
[ ] @jhamhader
[X] @bonifaido
[ ] @santigimeno
[X] @Gottox
[ ] @imran-iq
[ ] @jasongin
[ ] @pmderodat
[X] @neevek
[ ] @skypjack
[ ] @lomew
[X] @baremetalfreak
[X] @vcunat
[X] @alexhultman
[X] @plafer
[ ] @danbev
[ ] @hhellyer

Sounds great, that’s fine by me!

Fine by me

Pro forma +1.

👍

Yes, that's fine.

Sure.

works for me.

👍

@saghul what is substantial difference between MIT that we currently have, and CC4.0? Both require attribution, and both allow sharing/editing. Why should we bother then?

@indutny My understanding is that MIT is more targeted towards software, whereas CC isn't. CC even used to discourage its use in software, and since this part is documentation I thought it applies better.

Thanks for that @txdv!

@saghul so, there is no substantial benefit of using CC over MIT? Please disregard my 👍 then.

Maybe the discussion of choosing the right license should have happened before naming everyone.
I did a blame on all the files though and it seems like there is no documentation left by indutny, or all his commits have been overwritten.

Why oppose this? It makes no difference at all and only creates discussion. CC is clearly more suited for documentation while MIT is an overused and ambiguous software license.

@alexhultman because this is quite a massive change and requires confirmation from many people? This is the reason for me to oppose this. Could you please elaborate on clearly more suited for documentation?

unsubscribe

@alexhultman I'm sorry?

Don't @at me, I'm unsubscribed

Ok.

Fine with me. Best regards.
On Thu, Mar 16, 2017 at 12:55 PM, Fedor Indutny<EMAIL_ADDRESS>wrote:

Ok.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/libuv/libuv/issues/1254#issuecomment-287157334, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AEslfcdT_lb7NyV0CLw9vSqpgZe2r9cHks5rmYWjgaJpZM4MfHig
.

Keep calm everyone, @indutny gave his 👍 and then asked a question, that's ok. Not everyone knows all the details those licenses entail, me included, that's why having a community helps here.
Sorry if anyone felt uncomfortable, I asked the question like this in the interest of full-transparency.

indutny gave his :+1: and then asked a question, that's ok.

I understood it as him revoking his :+1: afterwards, but it's likely irrelevant anyway, as pointed out by others.

@vcunat Correct. At any rate he hasn't contributed to docs/ so we don't need his blessing.

@dharesign do I take that as a yes? :-)

I certainly wrote some of the original documentation :wink:
Even if you would like to disregard my vote, please at least take my opinion seriously. There has been no discussion about particular target license, and there is no reasoning mentioned anywhere here.
I don't want to stop anyone from doing whatever they sincerely believe in, but it would be great to base our decisions on factual differences instead of just belief.

@indutny Man, why are you doing this?! They are equivalent licenses to some extent, but CC is designed for documents and the like whereas MIT is designed for software. It's a no brainer.
I hate to write this, but you are giving me no other choice: I rewrote all "documentation" (the header file comments) when I started the Sphinx part, so I technically I don't need your permission.
The main reason why I want to do this is to help our users. The user guide I'm trying to merge (see #1246) is licensed under CC so we need to find a way to make that work. I never gave the docs license a thought before, but upon being confronted with the problem CC makes a lot more sense so I decided to ask everyone about it, and here we are.
By even attempting to block this you are essentially hindering my ability to make libuv more approachable for users by merging a user guide we can all continue improving. This is not cool, and I expected higher from you.

@saghul #1246 is a good reason to move to CC, this is all I wanted to know. Not sure why the conversation has suddenly turned out this way...

@saghul I personally do not care about a particular license and my
contribution is close to zero.
But I already happen to be part of this discussion and @indutny asked a
legitimate question and should not be ostracized for that.
Having said that, I believe the reasoning you just provided is good enough
and if it was posted somewhere before and pointed to in the original email
we could have avoided this discussion.
Thanks for all the hard work you are putting into libuv!!!
All the best.
On 17 March 2017 at 11:17:50, Saúl Ibarra Corretgé<EMAIL_ADDRESS>wrote:
@indutny https://github.com/indutny Man, why are you doing this?! They
are equivalent licenses to some extent, but CC is designed for documents
and the like whereas MIT is designed for software. It's a no brainer.
I hate to write this, but you are giving me no other choice: I rewrote all
"documentation" (the header file comments) when I started the Sphinx part,
so I technically I don't need your permission.
The main reason why I want to do this is to help our users. The user guide
I'm trying to merge (see #1246 https://github.com/libuv/libuv/pull/1246)
is licensed under CC so we need to find a way to make that work. I never
gave the docs license a thought before, but upon being confronted with the
problem CC makes a lot more sense so I decided to ask everyone about it,
and here we are.
By even attempting to block this you are essentially hindering my ability
to make libuv more approachable for users by merging a user guide we can
all continue improving. This is not cool, and I expected higher from you.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/libuv/libuv/issues/1254#issuecomment-287317170, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ASxmQ78EX0QGu03sFZHYdvzt9j0j-kvoks5rml3NgaJpZM4MfHig
.

Thanks for that @indutny! I'm glad we are on the same boat! ❤
Also, I apologize for not being clear about the reasoning from the start, I see I failed to link to #1246 on this PR. It all made sense in my head but I didn't communicate it as effectively as I could have.

Fine for me.

I don't care really, am no laywer and haven't contributed non-negligibly, but I believe even the current license text is OK.
It explicitly includes documentation in the definition of "Software", and IMHO the whole text is extremely short without mentioning anything that would seem to apply differently to "different kind of data".   The full text of CC-BY is much longer, but it's also a very well known license.

:+1:

:+1:

Ok.

Count me in

Sounds good.

Gentle reminder: @cjihrig, @jgeralnik, @dharesign, @yosuke-furukawa, @MostAwesomeDude, @petkaantonov, @lomew, @danbev

👍

Sounds

Sounds good

👍

approvee

approved

SGTM

I am not opposed to changing the license.
Sent from my iPhone

On Mar 21, 2017, at 17:58, Saúl Ibarra Corretgé<EMAIL_ADDRESS>wrote:
Gentle reminder: @cjihrig, @jgeralnik, @dharesign, @yosuke-furukawa, @MostAwesomeDude, @petkaantonov, @lomew, @danbev
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

SGTM2

@MostAwesomeDude you're the only one that hasn't responded 😄

@MostAwesomeDude any thoughts on this? Thanks!

I completed #1246, including the license change. Since @MostAwesomeDude hasn't replied let's go ahead as is, and if he refuses to relicense his contribution in the future I'll rewrite the one sentence: fc556acb.
Thanks everyone!

I personally don't think this commit is large enough to affect copyright and thus require approval (but I'm no lawyer).


Add serverless comparison article

Great article!
I would add the following to the Cloudflare Workers section:

Limitations:

You can't open TCP connections
Many Node.js libraries aren't compatible as they rely on the Node.js standard library which isn't available on workers

It may be also worth mentioning that to get many of the benefits of Cloudflare workers (global and scaleable) they are typically used along with Cloudflare's storage products: (Workers KV, Durable Objects, and R2)

Cloudflare has multiple data storage solutions available today: Workers KV, R2, and Durable Objects. All three follow Cloudflare’s design goals for Workers: global by default, infinitely scalable, and delightful for developers to use. https://blog.cloudflare.com/relational-database-connectors/

One thing that's also worth considering adding to the article is Deno Deploy – https://deno.com/deploy/
While new, it's by Ryan Dahl the original creator of Node.js and Slack just announced that their development platform will use Deno, so I think we can expect it to rapidly gain popularity in the near future.


Error when installing from source: six and pathlib2 required

Because setup.py imports six and pathlib2, the installation of trains will fail in a new environment, because these packages are not installed. They should be installed by the user before installing trains/trains-agent, which is not intuitive not straightfoward IMO.
Both these dependencies can be removed with a very little refactoring effort, WDYT?

@H4dr1en very true.
Do you feel like PR-ing a fix?