tabular robust mean/std

What does this PR do?
When you have a relatively large dataset and you subtype input to float16, it mostly returns NaN for all teams and STD
https://www.kaggle.com/code/jirkaborovec/amex-eda-baseline-lightning-flash
Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests? [not needed for typos/docs]
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review

[ ] Is this pull request ready for review? (if not, please submit in draft mode)

Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Don't we want to add a some unit test to this PR? apart from that lgtm


QC 1.2

Issue/Task Number: 965
To review please refer to all the comments in this series -> https://gallery.io/projects/MCHbtQVoQ2HCZfyN0ITInFtb/files/MCEJu8Y2hyDScV4P233AvoydBkws7ZzgNM0

And this as we discussed, I think we should either just use a text or remove border when disabled


Update adapter to 2.1.6

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

This new appcast is currently empty, but hopefully Macroplant will populate the appcast soon. It's better than using the old appcast, which no longer seems to exist (a 301 redirect occurs whenever you try to access it).

The new appcast is not stable:
-bash-4.4.12- /Users/miccal [> checkpoint https://macroplant.com/adapter/mac/v2/appcast
75a11da44c802486bc6f65640aa48a730f0f684c5c07a42ba3cd1735eb3fb070
-bash-4.4.12- /Users/miccal [> checkpoint https://macroplant.com/adapter/mac/v2/appcast
5f4a331d45a3f35e44fa58a66af7cd7a8f212950a0a6a53a98a2e406ff2e5d95


Refactor map

If two keys are the same, we can safely assume that they hash to the same hash, so the hash field is not necessary.

IMO, storing the hash value in an entry can provide a fast equality check. By first comparing hash values before checking key equality, we can prevent perf degradation caused by a poorly implemented key equality check. The downside is a higher memory footprint.

By first comparing hash values before checking key equality

For a && b, we will need to evaluate both a and b (short circuit), unless what you mean is same_hash || same_key, but what if two different key hashed to the same hash?
As for poorly implemented key equality check, I guess it is kinda inevitable if we are comparing them?
what do you think?

If a evaluate to false then b will not be evaluated and the whole expression is false. Please correct me if I'm wrong.

I see, that is a consideration. You are right.
Closing for now


More results than required

Hello
I have this text in md  file:
name=me; birthday=22/12/1990
name=Hans Ap; birthday=01/05/2004
name=Mats Mattis; birthday=21/03/1999

But have 5 results! Where 2 empty.
P.S. It good idea for plugin. But need render block to home.md page the next few points.
Best use dataview.
example:
TABLE Name, date(BirthDay, "dd.MM.yyyy")  as "BirtchDay"
FROM "Peoples"
WHERE (date(BirthDay, "dd.MM.yyyy").month - date(today).month <= 1 AND date(BirtchDay, "dd.MM.yyyy").month - date(today).month >= 0) OR date(BirthDay, "dd.MM.yyyy").month - date(today).month <= -10
SORT date(BirthDay, "dd.MM.yyyy").Day DESCENDING
SORT date(BirthDay, "dd.MM.yyyy").Month DESCENDING
LIMIT 3

Thanks for the issue.
I tested it and when I only add this it worked fine:
name=me; birthday=22/12/1990
name=Hans Ap; birthday=01/05/2004
name=Mats Mattis; birthday=21/03/1999
But when I added the ``` before and after than the problem occured.
So just remove the ``` before and after your birthdays. (Remove the code block):
Intead of this:
name=me; birthday=22/12/1990
name=Hans Ap; birthday=01/05/2004
name=Mats Mattis; birthday=21/03/1999

do this:
name=me; birthday=22/12/1990
name=Hans Ap; birthday=01/05/2004
name=Mats Mattis; birthday=21/03/1999

Included a check, your text is now working. (Included in the latest release 1.0.4)


Move theming support from Beta to Main

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Resolves: # (issue, if applicable)
Summary:
Please summarize the scope of the changes you have submitted, what the intent of the work is and anything that describes the before/after state of the project.
Type of change:
Please delete options that are not relevant.

[x] New capability
[x] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.:white_check_mark: jordanjones243:white_check_mark: jason-capsule42:x: semantic-release-botYou have signed the CLA already but the status is still pending? Let us recheck it.

Hmmm this seems to be broken (at least running locally). I would imagine there's supposed to be some examples rendering here?
It's building the code correctly as far as I can tell, but it's not actually rendering any image to the page.

Hmmm this seems to be broken (at least running locally). I would imagine there's supposed to be some examples rendering here?
It's building the code correctly as far as I can tell, but it's not actually rendering any image to the page.

Just checked my localhost and it works for me!

:tada: This PR is included in version 5.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


User console IAM in AWS

As a DevOps team member, I'd like to manage user console access permissions (IAM) via code rather than making changes by hand in IAM.
Couple things:

Simplify it. Maybe just reduce it down to a global ReadOnly policy and then upgrade things from there.
Any permissions beyond read only should use custom policies whenever possible so that they are least access.
Figure out who uses it and who does not.
Use groups. Attach policies to groups and then put users in groups.

Many of user access could probably be relegated to vault and having devs obtain short lived credentials from there that they can use for API access (which is what most people actually need, probably). There is still a usecase for password login to the console, though, so this issue focuses on cleaning that up.
Designs and Mockups
Acceptance Criteria:

[ ] An IAM solution that is code based.

Out of Scope

Not going to do

Does this issue dovetail with https://github.com/mitodl/ol-infrastructure/issues/1816 at all? Is that issue dependent on this one?


Add more information to Bundler SDK release & versioning

Overview
npm version is not persisted, which might break second release.
Add more information to the npm package for npmjs.org.
Changes

npm version executed on PR commenter and committed to current branch.
Add more information to package json of Bundler SDK for npmjs.org

Testing
On PR tested

will take another look tomorrow if it fits our needs


@material-ui/core/styles/shape is missing/removed?

I upgraded from 5.0.0-alpha.34 to 5.0.0-alpha.37 and it seems as though material-ui/packages/material-ui/src/styles/shape.js and material-ui/packages/material-ui/src/styles/shape.d.ts has been removed, is there a reason for this as it seems quite fundamental to adding custom shape properties to the theme, I looked through the changelog but there is nothing mentioning of the shape definitions being removed? It seems to have been deleted in version 5.0.0-alpha.36.

[x ] The issue is present in the latest release.
[x ] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
Typescript complains "Invalid module name in augmentation, module '@material-ui/core/styles/shape' cannot be found." as @material-ui/core/styles/shape no longer exists.
Expected Behavior 🤔
@material-ui/core/styles/shape should exist.
Steps to Reproduce 🕹
Steps:

Go to https://github.com/mui-org/material-ui/tree/v5.0.0-alpha.35/packages/material-ui/src/styles
See that shape files exist (shape.js and shape.d.ts)
Go to https://github.com/mui-org/material-ui/tree/v5.0.0-alpha.36/packages/material-ui/src/styles
4.See that shape files don't exist (shape.js and shape.d.ts)

Context 🔦
Unrelated
Your Environment 🌎
Unrelated

Only first and second level exports (such as @material-ui/core or @material-ui/core/styles) are part of the public API. @material-ui/core/styles/shape is private, which means it can be changed or removed at any time.
In https://github.com/mui-org/material-ui/commit/8a71384cabd973c78a11b53cd47e6b7cea155327, it was moved to @material-ui/system/createTheme/shape.

Thanks for the feedback

@material-ui/core/styles/shape should exist.

Could you explain the behavior you're looking for instead of explaining how the implementation should look like? This path was never considered public.

Hi @eps1lon I was utilising a "premium theme" listed on https://material-ui.com/store/ (minimals-mui) and noticed it had broke in the latest version as it was adding custom shape properties. But declaring them in typescript failed as the path to customise that no longer exists. I see now from @michal-perlakowski comment that this has been moved to material-ui/system so shouldn't be a problem anymore, but it may be important to make theming customers aware in the changelog that this change would cause issues any typescript projects that have customised the theme.shape.

but it may be important to make theming customers aware in the changelog that this change would cause issues any typescript projects that have customised the theme.shape.

We don't document internal changes. This would require a lot of work and clutter the changelog.


WinRT API for DWriteCore that exposes the full surface

Provide a WinRT API for DWriteCore that exposes the full surface. While libraries such as Win2D can provide a WinRT wrapper on top, they don't provide the full API surface as it is.

I have the feeling they would expect us to write C++ and use nano-COM instead, given the feedback that DirectX team doesn't care about us.
https://github.com/microsoft/WindowsAppSDK/issues/14

Hi @Jaiganeshkumaran, thanks for opening this issue! We're curious to hear what your interest is for a full WinRT exposure of DWriteCore, as this might be something we can investigate for a future feature request. What sort of use cases and scenarios do you have in mind?
Thanks!

Hi @Jaiganeshkumaran, thanks for opening this issue! We're curious to hear what your interest is for a full WinRT exposure of DWriteCore, as this might be something we can investigate for a future feature request. What sort of use cases and scenarios do you have in mind?
Thanks!

To access DWriteCore easily from languages other than C++ such as C# in a natural familiar way (unlike using interop assemblies such as the Win32 Metadata project).


Securely store password reset tokens

As displayed in https://github.com/feathersjs/feathers-authentication-management/blob/master/src/sendResetPwd.js#L37, it doesn't look like this module hashes the password reset tokens when it adds them to the user's data store. However, reset tokens are a credential useful to an adversary in the case of a data breach, similar to that of passwords themselves. It is a lot less work to use a reset token to take over a user's account than it is to brute-force bcrypt hashes.
I think that the reset tokens should be sent, and then the user model patched with the hashed variant of the sent token. This will mitigate a number of situations in which the database can be read (and not necessarily written to) by an adversary. A realistic situation I brought up in a recent blog post is a situation in which the database is directly exposed for reading to the internet due to misconfiguration. An adversary can issue password resets for users and hijack accounts without needing write access to the user models of the applications.
I didn't issue a PR for this as I'm not entirely familiar with the architecture of Feathers, and it seems that a change of this nature would be a breaking change for existing reset tokens unless the user model was flagged or migrated in some fashion, a non-trivial task when the hashing algorithm and underlying data store can be changed. These are architectural decisions best left to maintainers.
Ways I can see this happening:

In new versions of feathers-authentication-management, patchUser also patches user models with isSecureToken: true as a stopgap, and the code branches to check old, active reset tokens. New reset tokens are hashed and checked against the hashed variant.
Don't worry about it. Tokens have a short expiration date, and the token not matching just forces a new reset for some users stuck during the migration process.
Migrate old plaintext tokens upon upgrade to the new module. This would likely need some way to detect whether an existing token was hashed, which is fuzzy at best given that the password hash algorithm can be changed out by a user.

You can offer a PR.

Does that mean you are indifferent at this stage as to which way it goes? If I'm writing the PR for this I'm going to choose the "break old reset tokens" option because it's by far the easiest to develop and test for. 😀

I prefer being backward compatible as often as possible, but there are limits. Adding code to detect previous versions of tokens is a smell imho; requiring patching of the DB is problematic.
My thought would be to go with your option #2 ("break old reset tokens"), and bump the major semver on the repo. Plus you adding a migration note in the feathers-docs describing how the DB could be patched if desired and the relatively acceptable consequentces of not doing

I'm been trying to get a pull request together but there is a complication.
The current way it works is it actually queries the user collection using the reset token, so if it's stored as a secure hash there's no way to search for users using it. Bcrypt seems to not replicate 1 way hashes, I suppose it forces you to use compare.
This means your feathersjs developers will need to reimplement their server to send other information in the email link along with the reset password to identify the user, such as their email.
What do you recommend?

Unless we store the user id in the reset token such as id___token. Perhaps separated by 3 underscores. Could that be insecure?

I'm posting a bug here instead of opening a new issue because this issue is still open and it's related.
The implementation for for sendResetPwd uses the hashPassword hook from authentication-local, but it doesn't uses the "password" key instead of getting "passwordField" from the config.  The hashPassword hook does check the config, so if it's set to something other than "password", there is a key mismatch and the unhashed token is stored in the db.  This results in an error when calling the resetPwdLong action, because bcrypt.compare is being passed 2 identical strings.

@codingfriend1 I think this is related to your PR. Any comments?

@eddyystop I looked into it briefly. Unfortunately I don't have time to fix this right now. It's actually not a bug introduced by my changes, this bug seems to have existed before my PR.
See https://github.com/feathers-plus/feathers-authentication-management/blob/6b21d5ef5039d0da4b6c4939baabe542f1e9747e/src/helpers.js for proof, which the commit right before my changes.
Essentially the problem seems to be that the feathers-authentication repo looks for the passwordField in the user config, but the feathers-authentication-management hashPassword helper is hard coding the property "password" instead of checking the site options for the password field name.
Take a look at
feathers-authentication-management/src/helpers.js
On line 14 it's hard coding data: { password },. It may be as simple as importing the config and using the password field from options rather than the hard coded value.

The a-l-m rewrite has an option.passwordfield. The default is obtained from config/default.json.
Full details at https://github.com/feathers-plus/authentication-local-management/blob/master/misc/upgrading.md


Update rendered TabBarItem iconName

I have a scenario where I need to update the iconName of a TabBarItem dynamically triggered during a user's interaction. I'm binding the name to a state based value to handle the update, however, the icon never changes. Here's my TabBarItem...
<TabBarItem
   iconName={this.state.feedReturn ? 'align-bottom' : 'home'}
   selected={this.state.selected === 'feed'}
   badge={AlertStore.feed === 0 ? undefined : AlertStore.feed}
   ...
/>

I dug into the node modules a little and found where the package is generating the icons based on props.
./lib/create-icon-set.js
updateIconSources: function(props) {
  var size = this.props.iconSize || TAB_BAR_ICON_SIZE;
  if(props.iconName) {
    getImageSource(props.iconName, size).then(icon => this.setState({ icon }));
  }
  if(this.props.selectedIconName) {
    getImageSource(props.selectedIconName, size).then(selectedIcon => this.setState({ selectedIcon }));
  }
}

This function gets called inside componentWillReceiveProps(), however, as you can see it's basing its icon decision on this.props rather than a parameter or state.
I modified this by making updateIconSources take a props param. This is set to this.props in componentDidMount(), and nextProps in componetWillReceiveProps().
I tested the code and I'm now getting my desired result. Do you see any issues with this approach, and if not, would you accept a PR to incorporate this fix in the master code?
Thanks!

I also tried using selectedIconName and while that does update the icon, it does so a step behind the state.

Hi @bradbumbalough: that's exactly how it should be done. It's an error on my end, I'd happily merge your PR :+1:


Create novauniversitas.txt

Im trying to add a University called NovaUniversitas

NovaUniversitas has no conflicts with the base branch and was added

How do I add a new University?

I want to add my university, please anybody help me

@EricGuendu First stage of verification passed, official domain is novauniversitas.edu.mx as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@EricGuendu Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Erorr: "File exists:" after creating log directory

Thank you for sharing your code.  After completing all the installation, I tried running what I thought was the appropriate command for training, but I get an error in that it seems to try to create the same directory twice, and generates an error on the second time.  Is this normal?  Do you have any suggestions for fixing it?
Thanks!
$ python polyffusion/main.py --model sdf_chdvnl  --output_dir /runs/shawley/polyffusion
Creating new log folder as /runs/shawley/polyffusion/24-02-14_074902
load train valid set with: {}
Dataloader ready: batch_size=16, num_workers=4, pin_memory=True, train_segments=57543, val_segments=6522 {}
Total parameters: 44686850
model_name: sdf_chdvnl
batch_size: 16
max_epoch: 100
learning_rate: 5.0e-05
max_grad_norm: 10
fp16: true
num_workers: 4
pin_memory: true
in_channels: 2
out_channels: 2
channels: 64
attention_levels:
- 2
- 3
n_res_blocks: 2
channel_multipliers:
- 1
- 2
- 4
- 4
n_heads: 4
tf_layers: 1
d_cond: 1152
linear_start: 0.00085
linear_end: 0.012
n_steps: 1000
latent_scaling_factor: 0.18215
img_h: 128
img_w: 128
cond_type: chord
cond_mode: mix
use_enc: false
chd_n_step: 32
chd_input_dim: 36
chd_z_input_dim: 512
chd_hidden_dim: 512
chd_z_dim: 512

Using 16bit Automatic Mixed Precision (AMP)
GPU available: True (cuda), used: True
TPU available: False, using: 0 TPU cores
IPU available: False, using: 0 IPUs
HPU available: False, using: 0 HPUs
Initializing distributed: GLOBAL_RANK: 0, MEMBER: 1/4
Creating new log folder as /runs/shawley/polyffusion/24-02-14_074907
Creating new log folder as /runs/shawley/polyffusion/24-02-14_074907
Traceback (most recent call last):
  File "/home/shawley/diffusion/polyffusion/polyffusion/main.py", line 36, in <module>
    config = LDM_TrainConfig(
  File "/home/shawley/diffusion/polyffusion/polyffusion/train/train_ldm.py", line 31, in __init__
    super().__init__(params, None, output_dir)
  File "/home/shawley/diffusion/polyffusion/polyffusion/train/__init__.py", line 40, in __init__
    os.makedirs(output_dir)
  File "/usr/lib/python3.10/os.py", line 225, in makedirs
    mkdir(name, mode)
FileExistsError: [Errno 17] File exists: '/runs/shawley/polyffusion/24-02-14_074907'
Creating new log folder as /runs/shawley/polyffusion/24-02-14_074907
Traceback (most recent call last):
  File "/home/shawley/diffusion/polyffusion/polyffusion/main.py", line 36, in <module>
    config = LDM_TrainConfig(
  File "/home/shawley/diffusion/polyffusion/polyffusion/train/train_ldm.py", line 31, in __init__
    super().__init__(params, None, output_dir)
  File "/home/shawley/diffusion/polyffusion/polyffusion/train/__init__.py", line 40, in __init__
    os.makedirs(output_dir)
  File "/usr/lib/python3.10/os.py", line 225, in makedirs
    mkdir(name, mode)
FileExistsError: [Errno 17] File exists: '/runs/shawley/polyffusion/24-02-14_074907'
load train valid set with: {}
[rank: 2] Child process with PID 57408 terminated with code 1. Forcefully terminating all other processes to avoid zombies 🧟
Killed

(Before running,  the directory /runs/shawley/polyffusion/ is completely empty)
PS I get a similar "File exists" error when running the command copied from the README:
$ python polyffusion/main.py --model sdf_chd8bar --output_dir result/sdf_chd8bar

A quick fix is just to add the kward , exists_ok=True to the offending line, line 40 in train/__init__.py
With that change, the error goes away and the model trains!

Thank you! The issue has been fixed by 09773076f2cc0033cf39b99e1ecdb305f57d578d.


Unable to submit spark application through zeppelin IDE with spark standalone cluster as cluster manager

Is this a request for help?:
request

Is this a BUG REPORT or FEATURE REQUEST? (choose one):

Version of Helm and Kubernetes:
Helm version: 2.11.0
Kubernetes version: 1.8.1
Which chart:
spark
What happened:
I have deployed a spark standalone cluster from the helm chart available in this repository. I can access zeppelin IDE and spark master web UI from my local network.
I executed a sample spark job through zeppelin. I used spark interpreter and created a notebook for running my program. I can execute spark jobs in local mode. But I intend to run this job with a cluster manager. I have modified the interpreter settings to refer our spark standalone cluster to act as a cluster manager for scheduling and managing spark application.
As usual I have updated the spark master as spark://spark-master-service-name:7077  from spark interpreter settings, restarted interpreter and executed the job. Zeppelin is not able to communicate with the spark master and the job is killed automatically.
Initially, I suspected that the problem is due to the lack of communication between master and zeppelin pods. Later I came to know that spark is working fine with spark standalone cluster as a cluster manager when I execute the job from zeppelin pods. Here, I have mounted the spark binaries in zeppelin pod as same as worker pods and executed the job against spark master. It is communicating with cluster manager. Job scheduling is happening correctly as expected. Able to track the job from spark master web UI.
I have checked out zeppelin pod logs when I running my spark job from zeppelin with spark master as cluster manager. Please find the log message given below.
ERROR actor.OneForOneStrategy: Error while decoding incoming Akka PDU of length: 1305
akka.remote.transport.AkkaProtocolException: Error while decoding incoming Akka PDU of length: 1305
Caused by: akka.remote.transport.PduCodecException: Decoding PDU failed.
I have checked out the root cause of the problem from diffferent forums. They are stating that it might due to version compatibility between zeppelin ide version and spark version. Have you tested running spark jobs through zeppelin IDE with spark standalone cluster. Besides, I have checked the version compatibility of zeppelin wrt to spark. Even older version of Zeppelin has support to run spark up to version 2.0.0. Let me upgrade the spark and zeppelin version any way and try to run the job.
Please share the solution with me if you have already tested this option. The reason I am asking is I would like to utilise the resources from  worker pods and want to run this job in a distributed environment.
What you expected to happen:
Need to submit spark jobs from zeppelin using spark standalone cluster as a cluster manager.
How to reproduce it (as minimally and precisely as possible):

Install spark helm chart.
Open zeppelin IDE and create a notebook with spark as an interpreter
Run any spark program(scala)
Modify the spark interpreter settings and update spark master endpoint
Restart the interpreter and execute the job.

Anything else we need to know:

Any updates?

I'm running into the exact same issue.

@dNetGuru @rkkrishnaa My PR solves this issue https://github.com/helm/charts/pull/11285
#11285
Check it out and maybe we can get someone to review it


Remote API on Fedora, Gets No response at all on requests.

Description
Im trying to use the docker remote api to control the docker daemon.
Using Fedora 24 where systemd is in use. I have set it up as shown here:
Enable Remote access to Docker API on Linux running systemd
# vim /etc/systemd/system/docker-tcp.socket
[Unit]
Description=Docker HTTP Socket for the API

[Socket]
ListenStream=2375
BindIPv6Only=both
Service=docker.service

[Install]
WantedBy=sockets.target

Have tested with different ports and it still do not work.
When i try to send GET requests to the deamon it just get stuck and loads with outh no responce. In a rest client tool the requests gets timed out.
I can see with netstat that a connection is Established

Steps to reproduce the issue:

Setting up docker-tcp.socket
Stopping docker docker
# systemctl stop docker
Starting docker-tcp.socket
# systemctl start docker-tcp.socket
Testing in browser on the same host as the docker daemon:

http://localhost:2375/_ping
http://<IP_ADDRESS>:2375/_ping
http://<IP_ADDRESS>:2375/containers/json
In terminal:
# curl -XGET http://<IP_ADDRESS>:2375/containers/json
Have tested many more things but noting works.
Describe the results you received:
Just loading without any response at all.
Describe the results you expected:
200 OK with json objects?
Some sort of response at all.
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
# docker version
Client:
 Version:         1.10.3
 API version:     1.22
 Package version: docker-common-1.10.3-54.gite03ddb8.fc24.x86_64
 Go version:      go1.6.3
 Git commit:      e03ddb8/1.10.3
 Built:
 OS/Arch:         linux/amd64

Server:
 Version:         1.10.3
 API version:     1.22
 Package version: docker-common-1.10.3-54.gite03ddb8.fc24.x86_64
 Go version:      go1.6.3
 Git commit:      e03ddb8/1.10.3
 Built:
 OS/Arch:         linux/amd64

Output of docker info:
# docker info
Containers: 5
 Running: 0
 Paused: 0
 Stopped: 5
Images: 32
Server Version: 1.10.3
Storage Driver: devicemapper
 Pool Name: docker-253:1-2100931-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 2.203 GB
 Data Space Total: 107.4 GB
 Data Space Available: 38.63 GB
 Metadata Space Used: 6.656 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.141 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.122 (2016-04-09)
Execution Driver: native-0.2
Logging Driver: journald
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 4.8.10-200.fc24.x86_64
Operating System: Fedora 24 (Workstation Edition)
OSType: linux
Architecture: x86_64
Number of Docker Hooks: 2
CPUs: 2
Total Memory: 3.763 GiB
Name: ira
ID: VG32:L7WT:5Q5U:ESHB:LP63:4VJB:BUA5:NBRF:GFWW:6I7J:TGCG:QKVJ
Registries: docker.io (secure)

Additional environment details (AWS, VirtualBox, physical, etc.):
# cat /etc/*-release
Fedora release 24 (Twenty Four)
NAME=Fedora
VERSION="24 (Workstation Edition)"
ID=fedora
VERSION_ID=24
PRETTY_NAME="Fedora 24 (Workstation Edition)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:24"
HOME_URL="https://fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=24
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=24
PRIVACY_POLICY_URL=https://fedoraproject.org/wiki/Legal:PrivacyPolicy
VARIANT="Workstation Edition"
VARIANT_ID=workstation
Fedora release 24 (Twenty Four)
Fedora release 24 (Twenty Four)

# uname -a
Linux ira 4.8.10-200.fc24.x86_64 #1 SMP Mon Nov 21 17:55:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

To allow the daemon to be accessed remotely, you have to set the -H option accordingly, for example
docker daemon -H tcp://<IP_ADDRESS>:2375

or on current versions
dockerd -H tcp://<IP_ADDRESS>:2375

You can set this through a systemd drop-in file (and override the ExecStart); https://docs.docker.com/engine/admin/systemd/#/custom-docker-daemon-options
Or for the current version, use a daemon.json file, as described here; https://docs.docker.com/engine/reference/commandline/dockerd/#/daemon-configuration-file
If you are going to make the API accessible remotely, never do so without properly protecting it; https://docs.docker.com/engine/security/https/
Anyone that can access the remote API, effectively has root access on the host.
I'll close this issue, because this is not a bug, but feel free to ask for more information after I closed

Yes i see. Thank you sir. I have reed about the -H flag before and its use. I miss a explanation on where and how to implement it.
I'm suppose to control the docker daemon from inside of a container  using docker-php. My idea is to bind the socket to only listen on one local address from the container. If I'm right I would be able to do this with some help of the docker0 bridge?
This is instead of running root scripts directly on the server.

If you want to access the socket inside a container, you can use this (no changes to the daemon configuration is needed);
docker run -v /var/run/docker.sock:/var/run/docker.sock myimage

However, the same warning applies; by doing so, you give your PHP script root access to the host. If your container is compromised, the process inside the container can "escape" the container, and do damage on your host.
So be very careful if that container is accessible publicly

Yes i have also seen this  approach. But this sound even more insecure then using the docker remote API with a docker remote api client.
It's not being accessible publicly rather a bakend system for setting up new containers throw a Administration Panel integrated with our systems.

It's not less secure, as you only allow a specific container to access the remote API (the socket exposes the same API as you would expose over tcp/ip), whereas exposing the API on <IP_ADDRESS>:2375 would expose it to any process / person that can access your docker hosts port 2375


[FEA]: Add 'parquet' input file format support to deserializer.py

Is this a new feature, an improvement, or a change to existing functionality?
New Feature
How would you describe the priority of this feature request
Medium
Please provide a clear description of problem this feature solves
Provide support to read parquet input files for FileSourceStage and DFP MultiFileSource. Currently, these stages support only CSV and JSON.
Describe your ideal solution
Below function read_file_to_df from morpheus.io.deserializers.py needs an update to support parquet input format.
def read_file_to_df(file_name: str,
                    file_type: FileTypes,
                    parser_kwargs: dict = {},
                    filter_nulls: bool = True,
                    df_type: typing.Literal["cudf", "pandas"] = "pandas") -> typing.Union[cudf.DataFrame, pd.DataFrame]:
    """
    Reads a file into a dataframe and performs any of the necessary cleanup.

    Parameters
    ----------
    file_name : str
        File to read.
    file_type : `morpheus._lib.common.FileTypes`
        Type of file. Leave as Auto to determine from the extension.
    parser_kwargs : dict, optional
        Any argument to pass onto the parse, by default {}.
    filter_nulls : bool, optional
        Whether to filter null rows after loading, by default True.
    df_type : typing.Literal[, optional
        What type of parser to use. Options are 'cudf' and 'pandas', by default "pandas".

    Returns
    -------
    typing.Union[cudf.DataFrame, pandas.DataFrame]
        A parsed DataFrame.
    """

    mode = file_type

    if (mode == FileTypes.Auto):
        mode = determine_file_type(file_name)

    # Special args for JSON
    kwargs = {}
    if (mode == FileTypes.JSON):
        kwargs["lines"] = True

    # Update with any args set by the user. User values overwrite defaults
    kwargs.update(parser_kwargs)

    df_class = cudf if df_type == "cudf" else pd

    if (mode == FileTypes.JSON):
        df = df_class.read_json(file_name, **kwargs)

        if (filter_nulls):
            df = filter_null_data(df)

        if (df_type == "cudf"):
            df = cudf_json_onread_cleanup(df)

        return df
    elif (mode == FileTypes.CSV):
        df: pd.DataFrame = df_class.read_csv(file_name, **kwargs)

        if (len(df.columns) > 1 and df.columns[0] == "Unnamed: 0" and df.iloc[:, 0].dtype == cudf.dtype(int)):
            df.set_index("Unnamed: 0", drop=True, inplace=True)
            df.index.name = ""
            df.sort_index(inplace=True)

        if (filter_nulls):
            df = filter_null_data(df)

        return df
    elif (mode == FileTypes.PARQUET):
        df: pd.DataFrame = df_class.read_parquet(file_name, **kwargs)
        # Additional checks goes here...

        if (filter_nulls):
            df = filter_null_data(df)

        return df

    else:
        assert False, "Unsupported file type mode: {}".format(mode)

Describe any alternatives you have considered
No response
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I have searched the open feature requests and have found no duplicates for this feature request

cc: @efajardo-nv


enchementsupport read iceberg partition evolution table. (#45367)

cherry-pick #45367

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.
Please clearly describe your PR:

What problem was fixed (it's best to include specific error reporting information). How it was fixed.
Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
What features were added. Why was this function added?
Which code was refactored and why was this part of the code refactored?
Which functions were optimized and what is the difference before and after the optimization?

run buildall

run buildall


Initial commit for live website

I've almost made it perfect for launch. Only thing missing is the about section.
Majority of the tailwind design has been created. Just needs a few finishing touches and it should be good to go.

Only just clocked i've been talking to myself like a mad-man LOVELY


Cloud 100 load balancer doesnt work

Codecov Report

Merging #134 into master will decrease coverage by 1.27%.
The diff coverage is 8.22%.

@@            Coverage Diff             @@
##           master     #134      +/-   ##
==========================================
- Coverage   46.52%   45.25%   -1.28%
==========================================
  Files          25       25
  Lines        1728     1781      +53
==========================================
+ Hits          804      806       +2
- Misses        866      916      +50
- Partials       58       59       +1

Impacted Files
Coverage Δ

pkg/stub/replset.go
44.09% <0%> (+3.51%)
:arrow_up:

pkg/stub/status.go
39.68% <0%> (-4.97%)
:arrow_down:

pkg/stub/handler.go
36.8% <7.14%> (-2.75%)
:arrow_down:

pkg/stub/extservice.go
10.62% <8.88%> (-1.88%)
:arrow_down:

Continue to review full report at Codecov.

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


Remove unused assets and components

Time for a new look! Let's clean out some of the cruft that we don't need anymore.

nodejs / gulp
_elf.scss
bourbon

Launching new redesign effort and closing old issues.


Tracking issue of implementing a Webdav Compatibility Layer for Oay

Hi OpenDAL Community, this issue tracks the development of Webdav Compatibility Layer for Oay. It will update when we make progress, or for discussion, feel free to join together.
The basic idea is as follows:

[x] Add a frontends-webdav feature for Oay.
[x] Introduce the dav-server-rs dependency (Apache License, Version 2.0) and hide it within the frontends-webdav feature.
[x] Make a struct named WebDAVFs that implements traits like fs::DavDirEntry, fs::DavFile, fs::DavFileSystem, fs::DavMetaData from dav-server-rs. Utilize various data operation operators (such as read, write, create_dir, stat) from the OpenDAL operator to implement the interfaces of these traits.
[x] Setup integration tests.

The idea seems interesting, but it may not be effective for tracking issues. Have we considered how to divide the work into multiple pull requests?
I think we need following steps:

Add basic layout (setup feature, deps, traits, leave todo!() for needed functions)
Implement read support (so users can use oay to read data from webdav)
Implement write support (so users can write data into oay webdav)

Most work is done, let's close.


Display Data for Latest File Version

When a new version of a file is uploaded it can be previewed or downloaded from the main files scene or the file history modal.
The data that is displayed on the main files scene is currently always the original file version.
We should update this so that the data for the latest file version is displayed on the main files scene. We are already doing this on Defined Files.
File Data:

Name
Created (should we change to Modified?)
Uploaded By
File Size

We should be updating it, maybe it's a cache bug. Does it change on refresh?

@CarsonF nope, and when I went to one of the Projects to check the files it just showed the original version details, even though there are 2 more recent versions.

This applies to files in the main project directory as well as the Planning Spreadsheet, Universal Budget Template, and Periodic Reports.

@sethmcknight I tested file version preview for Project Files, Planning Spreadsheet, Universal Budget Template, and Periodic Reports and confirmed this was already fixed on dev site.

Ok we are going to:

[ ] Rename file, if applicable, when a new version is created
[ ] Show modified at & by in UI instead of created at & by

@tmpacifitech thanks! This looks great and I know a bunch of our users will be very happy when we push this to Prod!


Appstudio update test-component-pac-glty

Pipelines as Code configuration proposal

Pipelines as Code CI/test-component-pac-glty-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
6 seconds
init

✅ Succeeded
17 seconds
clone-repository

✅ Succeeded
31 seconds
build-container

✅ Succeeded
10 seconds
inspect-image

✅ Succeeded
11 seconds
deprecated-base-image-check

✅ Succeeded
27 seconds
clair-scan

✅ Succeeded
35 seconds
clamav-scan

✅ Succeeded
14 seconds
sbom-json-check

✅ Succeeded
16 seconds
label-check

✅ Succeeded
16 seconds
optional-label-check

✅ Succeeded
6 seconds
show-sbom

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-component-pac-glty-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
6 seconds
init

✅ Succeeded
12 seconds
clone-repository

✅ Succeeded
27 seconds
build-container

✅ Succeeded
14 seconds
deprecated-base-image-check

✅ Succeeded
15 seconds
inspect-image

✅ Succeeded
9 seconds
clair-scan

✅ Succeeded
35 seconds
clamav-scan

✅ Succeeded
8 seconds
sbom-json-check

✅ Succeeded
12 seconds
optional-label-check

✅ Succeeded
12 seconds
label-check

✅ Succeeded
4 seconds
show-sbom

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-component-pac-glty-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
6 seconds
init

✅ Succeeded
12 seconds
clone-repository

✅ Succeeded
27 seconds
build-container

✅ Succeeded
15 seconds
inspect-image

✅ Succeeded
14 seconds
deprecated-base-image-check

✅ Succeeded
9 seconds
clair-scan

✅ Succeeded
35 seconds
clamav-scan

✅ Succeeded
8 seconds
sbom-json-check

✅ Succeeded
12 seconds
optional-label-check

✅ Succeeded
12 seconds
label-check

✅ Succeeded
4 seconds
show-sbom

✅ Succeeded
7 seconds
show-summary


callCabal2nix doesn't seem to work with recent Hydra / restricted eval mode

Issue description
We updated our NixOS machine that runs Hydra recently, and all of our jobs that use callCabal2nix started failing with an error about accessing store paths in restricted mode.
Steps to reproduce
As far as I can tell: use callCabal2nix in a job that is being run by Hydra.
I asked about this on IRC and it seems to be a known problem with the intersection of callCabal2nix and Hydra, although I can't find an open issue about it at the moment.
Technical details
The error looks like this in the logs:
hydra-eval-jobs returned exit code 1:
error: access to path '/nix/store/lzb72kqip2q3g5dnx32m0sfpcz1wzd8j-cabal2nix-hedgehog' is forbidden in restricted mode
(use '--show-trace' to show detailed location information)

and turns up as an evaluation error on the jobsets page.

Just got hit by this. Is there a workaround for this anywhere?

I have something dodgy for it for the time being:
let
  nixpkgs-hydra = pkgs.fetchFromGitHub {
    owner = "NixOS";
    repo = "nixpkgs";
    rev = "3e96cee147d1ab9ee790f5b47871472a48e71a8d";
    sha256 = "14j46l2cfp4ckvny459fq7ndnkj2rl0w6vv27kzz9k3rfqr05jhr";
  };
  old = import nixpkgs-hydra {};
in {
...
  services.hydra = {
    ...
    package = old.hydra;
    ...
  };
...

@dalaing Gross. Thanks. Do you know which commit broke hydra here?

I don't know which commit was involved.   The versions of hydra and nix-unstable in the tree are closely intertwined, so I think having a whole separate checkout of nixpkgs is the easy way forward, rather than trying to roll back hydra, nix-unstable, and all of the various things they may have been depending on any given point in time.  It looks like a tough problem - I'm pretty happy I've got the option to grab a local version of nixpkgs for this issue and move forwards.
My rough understanding is that callCabal2nix uses import-from-derivation, and apparently that is bad, and the new restricted eval mode rules it out.  I'm not sure if it really counts as a hydra breakage instead of perhaps indicating the need for a new way of doing callCabal2nix.

@dalaing I think there is inherently no way to do callCabal2nix other than IFD. At least not without a major new Nix feature.
I think there just needs to be a way to manually turn off this restriction in Hydra.

This should work in 2.0... https://github.com/NixOS/nix/commit/43f8ef73c6aeb23aee40d485556004d6262d4e3b

@shlevy Hm... I tried @dalaing's workaround but with this checkout instead, and I'm still seeing the same error.

@ElvishJerricco What's your nix version on the hydra evaluator?

@shlevy The machine is on 1.11.16 (NixOS 17.09). But I thought having Hydra built with Nix 2.0 would be enough. I guess that's not the case?

It's whatever nix your hydra-evaluator is linked to.

Note that it has to actually be 2.0, I don't think any of the pre-releases have that fix.

@shlevy My hydra UI says: Hydra 2017-11-21 (using nix-2.0pre5968_a6c0b773).
So I think that's not the official release. But it does appear to have the commit you referenced as an ancestor:
$ git clone git@github.com:NixOS/nix
$ cd nix
$ (git merge-base --is-ancestor 43f8ef73 a6c0b773 && echo yes) || echo no
yes

So it should have that commit.

I suppose my nix-daemon is still 1.11.16... That would probably break it, right?

No, restricted mode is a function of the evaluator. Can you make a minimal repro?

Ah never mind I'll try it tomorrow

Ok, can now confirm that Hydra 2017-11-21 (using nix-2.0) (and nix-daemon 2.0 for good measure) also does exhibit this issue. I've bumped to the latest nixos-17.09, set nix.package to the new pkgs.nixStable2, and set services.hydra.package = pkgs.hydra.override { nixUnstable = pkgs.nixStable2; };.
However, in my search for a minimal repro, I discovered that IFD works fine. Having Hydra build this works:
{ nixpkgs }:

let pkgs = import nixpkgs {};
in {
  foo = import (pkgs.runCommand "default.nix" {} ''
    echo 'runCommand: runCommand "foo" {} "touch $out"' > $out
  '') pkgs.runCommand;
}

But this does not:
{ nixpkgs }:

let pkgs = import nixpkgs {};
in {
  foo = pkgs.haskellPackages.callCabal2nix "mtl" (pkgs.fetchFromGitHub {
    owner = "haskell";
    repo = "mtl";
    rev = "c7d396732bd45e409478bd4df1d0ca95d6f39356";
    sha256 = "1ama43hhhlnsil9c6vf6lm554cm0q2z1jr93r502mclzh9swhih0";
  }) {};
}

So IFD works fine I think. It's something else about callCabal2nix.

To reproduce the Hydra server in a VM, clone simple-hydra and use nixos-rebuild build-vm, with the latest nixos-17.09 for nixpkgs:
# Use this with `nixos-rebuild build-vm` to build a VM for testing Hydra.
#
#   $ nixos-rebuild -I nixos-config=`pwd`/example.nix build-vm
#   $ ./result/bin/run-nixos-vm

{ pkgs, config, ... }:

{
  imports = [./simple-hydra <nixpkgs/nixos/modules/virtualisation/qemu-vm.nix>];

  users.users.root.initialPassword = "test";

  virtualisation = {
    graphics = false;
    memorySize = 8000; # M
    diskSize = 50000; # M
    writableStoreUseTmpfs = false;
  };

  simple-hydra.enable = true;
  simple-hydra.hostName = "hydra.example.org";
  simple-hydra.useNginx = false;

  services.hydra.package = pkgs.hydra.override { nixUnstable = pkgs.nixStable2; };

  networking.firewall.allowedTCPPorts = [ 3000 ];
}

@ElvishJerricco Can you test this patch against nixpkgs? http://ix.io/QAO Let me know if it works and I'll make a complete fix in nixpkgs.

@shlevy Where am I supposed to apply that? It doesn't seem to apply to nixos-17.09, nixos-unstable, or master.

@shlevy That seems to have worked! Though it requires pkgs.hydra.override { nixUnstable = pkgs.nixStable2; };, even when nixUnstable is nix-2.0pre5889_c287d731.

Thanks heaps for that @shlevy!


add sample button when setting bpm

Using a separate metronome app is fine

Using a separate metronome app is fine


Possible problem with JavalinVue when using Location.EXTERNAL - not closing files?

Actual behavior/steps to reproduce (the bug)

Set external location

JavalinVue.rootDirectory("/vue", Location.EXTERNAL)

(have a large number of .vue files in /vue folder)

Run something that produces a lot of requests, e.g. scenario tests

Produces java.nio.file.FileSystemException: [...]/src/main/resources/vue: Too many open files exception

https://gist.github.com/jorunfa/4278f4d0c231d7b54d3348464689d94d
I'll try to investigate the issue myself.

It seems to happen if I run the scenario tests sequentially too, not just when running them in parallell, it just takes longer time. So maybe either files are not being closed as they should be, or the amount of files just makes it so that requests are opening files faster than it's able to close them.

I think you're completely right.
fun Path.readText(): String = Files.readAllBytes(this).toString(charset("UTF-8"))

Seems to have done the trick.

Could also add .also { s.close() } to the current code:
fun Path.readText(): String {
    val s = Scanner(Files.newInputStream(this), "UTF-8").useDelimiter("\\A")
    return (if (s.hasNext()) s.next() else "").also { s.close() }
}

I'm not really against using Files.readAllBytes(this).toString(charset("UTF-8")), I'm just wondering if it will behave the same in all the different environments, so closing the scanner seems safer.

readAllBytes seems to work fine in distroless Java container (which was where we had a problem before).
I have very little experience with the Scanner class, so I'm not sure, but it seems like one of its primary purposes is scanning for input, i.e. from user input through System.in, but of course other sources are also possible. E.g.:
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();

https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

We always read the full .vue file. readAllBytes makes sense to me. Not my area of expertise though.


Fixing wrong parameter in function create_token

As can be seen in this line there is no "no_default_profile" parameter in vault api.
This problem might have been motivated by this issue

Thanks for the PR!


Apply fit after NetworkManager.setData

btw ... we were automatically fitting like this with ml-visjs-graph-ng, and turning that off was something I was asked for a lot. I'm really not sure which behavior should be the default

I think that was stabilize, or stabilize+fit. Stabilize can cause the graph to get reshuffled. A fit is just a zoom out.

Reopening this. You sometimes want to push graph updates by calling setData with changed data, and once drawn, you don't want to fit again. Someone might have zoomed in on purpose.
E.g. only apply fit initially (when there was no data before yet).

False alarm. I was calling fit whenever node or edge changes were detected in the Vue-wrapper. The library only applies fit initially, which should be okay I think..


Node.js: Add node 8 and npm 5 support

Thanks the update! Can you explain why you exclude npm from the build image in ca0417b1c77a8aebe05e95cf40bf55ea01114a1b?
This causes a QA error during package as the node_modules files as /usr/lib/node_modules is not included FILES.
What's more, let me just give my two cents. On a freshly installed ubuntu 16.04.3 (no GUI), I had to install a few packages for do_compile to succeed:
dpkg --add-architecture i386 && apt-get update
apt-get install lib32z1-dev libssl-dev:i386 gcc-multilib g++-multilib

I don't understand myself why I needed i386 headers, but I would get a linker error without them.

ca0417b was for personal interest. I did not realize it would append to the pull request. I'll revert that commit.

Can we finalize this pull request?

I second that^

all good?

Could we please merge this?  The lts version of node has changed.

@imyller  We need you man!

FYI: os.popen is deprecated (used in npm-base.bbclass) in python 2.6 and subprocess module should be used instead. Also, npm_get_version in npm-base.bbclass leaves file open which will produce warning during build.
I fixed this as below patch suggests:
diff --git a/classes/npm-base.bbclass b/classes/npm-base.bbclass
index b545225..b40f241 100644
--- a/classes/npm-base.bbclass
+++ b/classes/npm-base.bbclass
@@ -19,10 +19,6 @@ NPM_FLAGS ?= ""

 NPM_FLAGS_append_class-nativesdk = " --unsafe-perm"

-def npm_get_version():
-    import os
-    return os.popen("npm --v").read().split('.')
-
 # Target npm

 oe_runnpm() {
@@ -66,7 +62,8 @@ oe_runnpm() {

        export HOME="${NPM_HOME_DIR}"

-       if [ "${@npm_get_version()[0]}" = "5" ]; then
+
+       if [ "$(echo ${NPM_VERSION} | cut -d. -f1)" = "5" ]; then
                NPM_CACHE_CMD="verify"
        fi

@@ -128,7 +125,7 @@ oe_runnpm_native() {

        export HOME="${NPM_HOME_DIR_NATIVE}"

-       if [ "${@npm_get_version()[0]}" = "5" ]; then
+       if [ "$(echo ${NPM_VERSION} | cut -d. -f1)" = "5" ]; then
                NPM_CACHE_CMD="verify"
        fi

Is this repository still actively maintained or should people be using some replacement?

Doesn't seem to be very active apart from thirdparty contributors.

Which is okay. I'm just wondering whether this is still the official nodejs layer repo, given that this PR is pending since 8 month.

I maintain a fairly up to date PR and fork of this repo. Other than that the author of this repo has gone quiet for some time.

+1

@zonque there is no 'official' nodejs layer. This is the one though. Perhaps the author can authorization some other participants for maintaining this repository.

There is some support for nodejs in openembedded-core. npm class seems to be quite much the same as in here. Also, devtool is supporting npm packages at least for some extent. I am investigating currently if i could start using devtool and openembedded-core npm class.

Guys, should we contact Node.js Foundation in order to create an oficial layer?

@mitorn Did your investigations have any success?

@mitorn The npm.bbclass in core use the bitbake fetcher to fetch all dependency. To use it devtool is pretty much a must as otherwise the dependency management is way to much work.
The classes in this layer are much simpler and they rely on npm to fetch everything. They do not use the bitbake fetcher mechanism and thus you can't cache/archive the downloads the way you normally do with bitbake. An "advantage" is that you do not need to specify all the dependency at the bitbake level. This might be easier in some cases especially when used with a local npm mirror.
@deinok Is there a need for a seperate layer. The latest LTS (8.x) version is also available in meta-openembedded. If somebody would be willing to maintain it I think it would also be possible to have the Latest (10.x) available as a recipe too.

@keeslinp we haven't had time lately to test devtool based npm fetcher. It would be quite feasible for us since it does bitbake license management instead of creating your own. There was open questions at least about locking commits (can we trust package-lock-.json for example).
@bachp we would like to use npm.bbclass because of the license handling which i think this layer does not provide.


e2e solution

Bug report for user.cy https://delta-may23.atlassian.net/jira/software/projects/DEL/boards/1/backlog?selectedIssue=DEL-275


Inspect: take stmt.delta into consideration for instruction addresses…

… passed to SimInspector.

Oops, for some reason I thought you assigned this to me!


Fix typo in FrameTests

Fix typo in FrameTests.

Might be more major than a typo :)
/cc @davidfowl

Hah, that just looks like a bug 😉

Thanks!


Update pubspec.yaml

Hi @Yazan99sh,
Thanks for your contribution.
At this time, our policy prohibits us from importing and using RC (release candidate) versions of dependencies. Therefore, we are unable to merge your PR at this time.


SandboxService - moduel object is not callable

Describe the bug
When trying to connect to the TM1 database in Cloud using IntergatedSecurityMode 1, I got following error:
Traceback (most recent call last):
File "/Users/tomasfelcman/Documents/Projects/TM1Py/fel_codes/check_tm1.py", line 51, in
with TM1Service(
File "/Applications/anaconda3/lib/python3.8/site-packages/TM1py/Services/TM1Service.py", line 33, in init
self.sandboxes = SandboxService(self._tm1_rest)
TypeError: 'module' object is not callable
To Reproduce
Connect to TM1 in Cloud with ISM=1
Expected behavior
When I commented the line 33, no error appeared and the connection was sucessfully made.
Version
TM1py [1.5.0] - I have done upgrade yeasterday
TM1 Server Version: [11.0.00101.931]
Additional context
Is there any TM1 Server setup that has to be made in order for SandboxService to work?

Please upgrade to the latest master branch from GitHub. I wonder if this solves the problem.
pip install https://github.com/cubewise-code/tm1py/archive/master.zip --upgrade

@tomasfelcman please confirm if the issue still persists after the upgrade

@tomasfelcman please confirm if the issue still persists after the upgrade


TopicScraper: GitHub Repository Topics from Web Using BeautifulSoup

Project Overview
The GitHub Topic Extractor is a Python-based tool that scrapes repositories from GitHub and extracts relevant topics using Natural Language Processing (NLP). Leveraging BeautifulSoup for HTML parsing and NLP techniques such as tokenization and keyword extraction, this tool automates the identification of key topics or themes associated with GitHub repositories.
Technologies used:
Python
BeautifulSoup (for HTML scraping)
Requests (for making HTTP calls)
NLP libraries like NLTK for text processing

hey @UppuluriKalyani i build this project also i scrap not only topics , the repo. and readme file too and added summarization model too .could you pls increase the level of the issue ? i attached code file too for review .
github_scraper.ipynb - Colab.pdf


feat(dom): add classList, text binding && refactor(shared): add internal getNow

Add support for classList(can be an array)
Small refactor for reusage method in shared

Thanks but I don't think these changes bring meaningful improvements.

The patchClass function never receives arrays of strings because classes are always normalized.

Breaking one liners into tiny modules is unnecessary.


Make puffin_egui packing feature optional, for wasm

puffin_egui has a required dependency on puffin with the packing feature, which brings in zstd, which can't compile to the wasm32-unknown-unknown target (https://github.com/rustwasm/team/issues/291#issue-577973691).
Can puffin_egui be altered to have a feature gate for using the packing functionality, so that it can be disabled to work with a wasm target?

Good luck!
Note that if you are planning on running puffin in a browser, you only will get millisecond precision on the profiling events due to meltdown/specter mitigation.

Ah well, better than nothing. Thanks for making the change though!


Strange scroll behavior

monaco-editor version: 0.8.3
Browser: Chrome 57.0.2987.98
OS: MacOS 10.12.3
Steps or JS usage snippet reproducing the issue:
1:  Go to https://microsoft.github.io/monaco-editor/index.html
2: Scroll down to where the top of the editor is no longer visible.
3: Type something in the editor
You'll see the window scrolls up erratically, even though the cursor is visible.

related #113


RuntimeStat: Clone SnapshotRuntimeStats Completely

Signed-off-by: TonsnakeLin<EMAIL_ADDRESS>TiDB writes SnapshotRuntimeStats to slow log, but we found that the TimeDetail and 'ScanDetail' is lost. It is because that Cloning SnapshotRuntimeStats omits some information.

@sticnarf @ekexium @MyonKeminta @cfzjywxk . thanks for your review !

Maybe we need to verify the performance impact of cloning the stats.

I think just copying the pointer is enough as the underlying data would not change, the price is it's not real clone.

@cfzjywxk PTAL


[1417] Add 256 char limit to GCSE grade input forms

Context
Adding a 256 character limit to GCSE grade input forms. This is in line with our vendor API rules:
https://www.apply-for-teacher-training.service.gov.uk/api-docs/v1.4/reference#qualification-object
Before

After

Guidance to review
Try to add a GCSE grade that's over than 256 characters as many ways as you can (on the UI).
Link to Trello card
https://trello.com/c/TgFxWX5c/1417-validate-gcse-grade-length
Things to check

[ ] If the code removes any existing feature flags, a data migration has also been added to delete the entry from the database
[ ] This code does not rely on migrations in the same Pull Request
[ ] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[ ] If this code adds a column to the DB, decide whether it needs to be in analytics yml file or analytics blocklist
[ ] API release notes have been updated if necessary
[ ] If it adds a significant user-facing change, is it documented in the CHANGELOG?
[ ] Required environment variables have been updated added to the Azure KeyVault

 Validate GCSE grade length


ui blocking on textfield entry defects

so when I type - the keyboard ui blocks
self.editingTarget = TextFieldTarget(controlEvents: UIControlEvents.EditingChanged, textField: textField) {
if let text = $0.text {
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)) {
               dataFlow.transport(text)
            }

2016-05-03 11:33:56.369 RAMReelExample[346:42807] This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes.  This will cause an exception in a future release.
Stack:(
0   CoreFoundation                      0x0000000182c5ae50  + 148
1   libobjc.A.dylib                     0x00000001822bff80 objc_exception_throw + 56
2   CoreFoundation                      0x0000000182c5ad80  + 0
3   Foundation                          0x000000018370bafc  + 88
4   Foundation                          0x000000018370b9c0  + 56
5   Foundation                          0x00000001835911ec  + 56
6   Foundation                          0x000000018358fa44  + 816
7   Foundation                          0x000000018358f5cc  + 284
8   Foundation                          0x000000018358d1c8  + 228
9   UIKit                               0x0000000187ea9958  + 468
While not an ideal fix for your react pattern - I've hacked around this by doing searching on background thread.

Ok, thanks for creating this issue.
Fixed and pushed as version 1.2.0.
DataFlow's transport now executes in background thread, instead of main, releasing UI.
And updateOffset is called less. But data now has to be Equatable.


Force global

This is my attempt to resolve #27.
The code i added to Cli took it over Rubocop's class size limit, so i split the parsing into a separate class. I'm happy to go back and do this a different way if you prefer.
Let me know what you think!

This seems good to me!

Yay!  Thanks, @tomwhoiscontrary!


WIP: testing and deploy updates

DO NOT MERGE still in progress, and abusing using Github's webhooks for the automated testing modifications.
A few updates here.

Added a Makefile with a little bit of config and the usual targets. make deploy still doesn't do anything yet.
Updated the karma.conf to emit both HTML and lcov for coveralls
Made a different grunt task for locally running tests vs. running on travis/sending to coveralls (it throws a fit when trying to send to coveralls locally).
Added a full test suite for the kbaseConfig class! It's green!

TODO:

Tweak Grunt file to configure Karma for either lcov or HTML emission (having both is a bit of a waste, but HTML is useful for a local dev to look at)
Add a watch task to the grunt file (probably not in this PR).
Add example test suite for a jquery kbase widget.
Documentation!

Got the first 3 parts of the TODO done - just need some better documentation, and this'll be ready to merge.

Alrighty. Got documentation in place. I think it's ready to be looked over.

Do you want me to look at the documentation? If so, where, exactly?

That would be useful! It's here: https://github.com/briehl/ui-common/blob/ease-dev-campaign/docs/testing.md (in the docs directory at the top of the repo).

Awesome sauce. Can I merge it?
I want to give it a try, but maybe that will be tomorrow.
BTW on src/widgets/jquery/kbTabs.js that should be kb.jquery.widget -- missing a j. That is the AMD version of the kbwidget.
It may just work, if kbwidget was already installed in this js environment prior to this module being loaded.

Nice catch. I was having problems loading the right kb.jquery.widget up before while writing tests against kb.jquery.tabs - that one used just kb.widget as a dependency, so the whole mess was failing. I went though the others to double check, and that one was off. Guess I typo'd it a bit.

I also changed jquery in require-config to use jquery.min. Was there a reason it was using the non-minified version?

from time to time i find jquery dependencies that I've put in place which are just plain wrong, but things still work due to something else already having modified the jQuery global previously in that session. one of the reasons I avoid jquery other than for dom querying and perhaps ajax.

just debugging

i figured, actually, that in development there will eventually be no reason to use minified, if the build minifies everything anyway.

in fact, I just saw the bower recommendation today that bower packages not be minified, that this should be left to the build process. in fact, they also recommend not using bower packages raw (and certainly not just loaded into a page) in production, but to further package them with a build process. we know that already.

and as things move into plugins, and we are clearing out the clutter, the multiple versions of kbwidget and other base modules will become just one, and there will be few of them in terms of files and also in require-config, so it will be obvious which ones to pick.


Settings lost after rolling back the system but keys got mapped still.

Microsoft PowerToys version
0.33.1
Running as admin
Yes
Area(s) with issue?
Keyboard Manager
Other Software
No response
Steps to reproduce
Update the system to the preview dev latest version and roll back.
Then check the PowerToys's key-manager.
✔ Expected Behavior
There supposed to have my profile of setting and the option should be on.
❌ Actual Behavior
However it is off and my keys had been somehow mapped without powertoys.

I updated my laptop to DEV channel so I can use the virtual-desktop rearrange function.But since it's too unstable and the screen tearing is worse than I thought, I finally rolls my version back.
Then, is seems like my profiles get lost and in the recovered system, my keyboard manager is off by default.
Now my capslock key is the R-control and it won't function unless I map it back. This is not a big deal but I'm afraid whether it would bring me some unexpected errors or not.

Marking p3 as this is a off golden path scenarios due to the rollback and very time consuming to test (suggest VMs)

@H-111-di
it's not clear to me what the problem is.
If the settings are lost, there is no chance that KBM can still remap any key, unless I misunderstood the problem.
Can you please update to 0.37 https://github.com/microsoft/PowerToys/releases/download/v0.37.0/PowerToysSetup-0.37.0-x64.exe and verify if you are still having problems?


Contract tests should "time out"

I made a change that caused some triggers not to fire, which then resulted in the test not terminating.

#1699


Tweet "edit/redraft" button

A great feature that better Tweetdeck has is the "redraft" button and it's not an edit button of course but's close enough, would love this feature in ModernDeck too.

I think this would be a great feature to add. Thank you for the suggestion!

Nice!


Allow Leaders to block pms

Talked about in upper staff a few days ago, no objections, supported.

...

Blah fine, it's not like I have individual PM blocking working yet...

I feel like at this point there is no reason to prevent staff from blocking pms :-/

Once help tickets are farther along (and we can direct all appeals to them via the button without spamming the staff room) Id be open to that.

Convincing @Zarel is the biggest concern. He didn’t seem to pleased to add this and iirc he’s expressed his distaste in staff blocking pms as it defeats the purpose of being on a staff account or something like that

Oh yeah, I did it before because it was before help tickets were a thing.
Yeah, a staff block should show a link to Help tickets, but as long as that's a thing, I don't have a problem with staff blocking PMs.

Ill add this to my help tickets PR then.


Update queries for CloudFormation

Closes #1850
Proposed Changes
-The index in some queries were wrong
-Fixed one query, that wasn´t correct

Looks good, just need to fix identations to a consistent style with OPA format

Looks good, just need to fix identations to a consistent style with OPA format


Consider replacing \ast with a different symbol

Currently ∗ (\ast) is a lazy multiplication operator, but in many fonts the difference between it and * is not readily apparent unless they are side by side. I'd reccomend using a unicode modifier on top of * instead. Perhaps *̂ (*\hat).

In Cygwin, *\hat looks more like * than \ast. I'll have to get home before I can try a proper terminal emulator.
Here are all the operators that have the same precedence as *. What about \circledast?

Another option would be *ˡ (*\^l) where the idea is that the ˡ denotes lazy. Just in case a reader doesn't know, any of the operators in the link above can also be modified with unicode modifiers such as \hat, \bar, etc. or superscripts and subscripts to create yet another distinct infix operator with the precedence of times.

I like *ˡ.
Do you think I should ask on Discourse or somewhere for more feedback, or just go ahead and make the change?

It won't hurt to ask for feedback, but I suspect that \ast isn't used in any serious code yet, so it probably doesn't matter much. If you do get rid of \ast, I'd save it for v0.4.0 since it'd technically be a "breaking change". In the meantime, you can make *ˡ and set \ast as an alias for it.

I went ahead and replaced \ast with *ˡ, and then defined \ast as an alias. Once I release v0.4.0, I'll delete that single line.


Be able to Remove Sounds

Currently they can be added and cannot be removed.
Perhaps We should also limit the number of tracks that can be added

As far as limiting the number of tracks that can be added: What if someone has their song in multiple pieces, or what if they have a long set to play? Perhaps we should place a limit on how many can play at a time?
 At that point they have 10+ tracks playing at the same time right? They should probably be looking for a higher price audio DAC anyway...

True True, it would be their fault for adding 10+ tracks.
However, I think we should limit it to about 6 in that case. since we have #24 if a song is in pieces, they'll remove an old part and place in another or vice versa
Is this at all difficult to do? If it is, I'd understand, but if not, I say it wouldnt hurt. Though, I do feel like this should be implemented, but the priority is possible release canidate 1

Cool. How about you create an issue for this, and mark it as RC1.
I agree generally, but one distinction I want to make clear:
I believe the program can handle up to 30 tracks loaded in the view at a time. I agree that we should restrict the number to 6 concurrent PLAYING songs.
Sound good?


Look into using testcontainers to orchestrate docker for tests

We currently rely on manual commands to initialize the docker containers used for testing (docker compose up), but we may be able to leverage the testcontainers module to orchestrate this for us.

Did a small benchmark. It takes ~1.2sec for the MySQL test database container to start and be ready for connections. I ran
import pytest

@pytest.mark.parametrize(
    "_",
    list(range(1000))
)
def test_to_measure(_, my_database) -> None:
    assert True

with the fixture defined as
import pytest
from testcontainers.core.container import DockerContainer
from testcontainers.core.waiting_utils import wait_for_logs

@pytest.fixture()
def my_database() -> DockerContainer:
    with DockerContainer("openml/test-database") as db_container:
	    wait_for_logs(db_container, "mysqld: ready for connections.", interval=0.2)
	    yield db_container

Without fixture it took 0.33 sec, and with 1253 sec. So that translates to roughly ~1.2 sec overhead.
This is a workable solution for those tests that really need an independent container to connect to (such as those that modify the database through the PHP api). There might also be cases where this can be employed on a module level or similar, to reduce the overhead. However, the overhead is prohibitive to run this on an individual test level in quick test cycle, so it has to be used sparingly for tests which need to be executed frequently. A potential use is for more extensive testing in CI.

We would also have to modify our workflow or images slightly. Currently, tests are executed from the python-api docker container, but to use testcontainers it would mean we have some docker-in-docker setup or sharing the docker socket from the host. This might increases the setup complexity for (new) developers. Alternatively, we could expect to run tests from a local python-api installation (as opposed to containerized), but then users will have to install the mysql-client dependencies.


doc: Use neutral domains.

What does this PR do?
Use only the reserved example second level domain names in the documentation.
https://tools.ietf.org/html/rfc2606#section-3
Motivation
Have a better documentation.
Fixes  #6470
More

[ ] Added/updated tests
[x] Added/updated documentation

Additional Notes

Fwiw, this change corrupted a number of the examples.
The spirit of the change is absolutely desirable, but the examples had more problems (including scheese.com in places) which meant that a naive search and replace didn't achieve the desired results (using the RFC example.com domain).
But, ignoring the fact that a search and replace of bad content results in bad content, a search and replace of cert content that doesn't fix up the encoded form is problematic.


Concurrent IO

This eventually replaces #324.
There is still a lot to do, but some mechanisms are already in place.

This is how you can use the various libraries:
import io
import io/network
import io/time
import immutable/bytes
import text/string

// creates a simple echo server.
def main() = eventloop(box {
  var x in global = 0;
  server("localhost", 8080, box {
    loop {
      val msg = do receive();
      x = x + 1
      //println("Received a request: " ++ msg.toString)
      if (msg.toString.startsWith("GET /")) {
        if (x <= 1) {
          wait(1000)
        }
        do send(toBytes("HTTP/1.1 200 OK\r\n\r\nHello from Effekt!"))
      } else {
        do send("HTTP/1.1 400 Bad Request\r\n\r\n".toBytes)
      }
      do end()
    }
  })
})

However, it will currently crash, since global is not bound and the temporary hack only worked for a single file (and not across several other files).

@jiribenes With #434 being merged, is the library now usable for you?

@jiribenes With #434 being merged, is the library now usable for you?

Yep -- except that immutable/bytes is not a part of this PR so nobody else can actually use this. It would be nice to have a test or two to detect such problems if at all possible.
Here's what I tried:
import io
import io/network
import immutable/bytes

import http

def serve(): Unit / Socket = {
  val _ = do receive();

  val responseBody = http::Body("Hello from Effekt!".toBytes)
  do send(http::ok(responseBody).encode)
  do end()
}

def main() =
  eventloop(box {
    server("localhost", 8080, box {
      serve()
    })
  })

Agreed, there should be tests. I simply forgot to add the file :(

Superseded by #469


connect via SSL

is there a way to use this bot in servers that are ssl only? I can't find anything and I get
Connection error: invalid server response! (Connection reset by peer)

whenever I try to connect via port 6697 on a server that is ssl only

Hello!
The short answer is, not currently. I have not had a need for it so I haven't given it any thought.
It's an interesting proposition, however. There's nothing fundamentally stopping it, the connector and listener Fibers will need SSL variants, but once such are in place I imagine it should just work. I just... need to learn how to connect with SSL and read from an SSL socket.
I'll look into it, but it'll take a while, depending on whether or not I find something I can copy and dissect to learn from.

I have something that seems to work, in the ssl branch. I tried it with freenode and Rizon and could connect  to, write to and read from both. freenode successfully said "[...] is using a secure connection".
It wasn't a big change but only because I could reuse others' work (https://github.com/ikod/dlang-requests/blob/master/source/requests/ssl_adapter.d).
You need a clone of the ssl branch of upstream lu for the time being.
git clone https://github.com/zorael/lu.git -b ssl
dub add-local lu

If you need to be able to supply a private certificate for your server you may be able to use the SSL_CERT_FILE environment variable. If it's a big deal, I think I can add support for specifying one at the command line and/or in the configuration file instead.
It will detect SSL if the port is 6697, 9999 or some other common SSL port. If your server uses a different port you can manually toggle it with --ssl. Alternatively in the configuration file; just regenerate it first with --writeconfig and the entry should pop up in the core section.
I'm 700 commits into 1.8.2 and was planning to tag a 1.9.0 any day now, at which point I'd sync the three projects (kameloso the bot; dialect the IRC parser; and lu the general library bits). I'll include all this if it seems to work. Then you wouldn't need the extra dub add-local.
Let me know if it works (or doesn't).

thank you a lot.
I'll try that asap and report back

Thanks, it seems to be working. You can close

Thanks!
Merged in 830755a18346424a952d7e17bd6cc8fb2537bc84.


fix(WebSocket): treat interceptor exceptions as closures with error

Related to https://github.com/mswjs/msw/pull/2011

While testing the onUnhandledException event in MSW, I noticed that unhandled exceptions in the connection listener are thrown on the entire process and are uncatchable. That's caused by the connection event being emitted in the queueMicrotask in the WebSocket interceptor. The queuing itself is correct.
I'm solving this by catching those interceptor exceptions and translating them to WebSocket connection closure with error. This means an unhandled interceptor exception will trigger error and close events, and also print the caught error to stderr.

Released: v0.34.1 🎉
This has been released in v0.34.1!

📄 Release notes
📦 npm package

Make sure to always update to the latest version (npm i @mswjs/interceptors@latest) to get the newest features and bug fixes.

Predictable release automation by @ossjs/release.


Second output on 2 port switch is not controllable from Home Assistant

New HA install with all devices up and running except the second port on all 2 port switches is not controllable.
Sending a turn on command from the HA webpage does not work, sending a turn on command from the HA webpage for the first port on all of these switches works.
The problem is the same on all 9 2 port switches installed.

Fixed with zcc upgrade

Hello,
i am having this issue on my HA instance, running version 1.4.0. zcc firmware vers<PHONE_NUMBER>011. i have deleted the zimi integration and reloaded to no avail. any assistance would be greatly appriciated

Can you send your ZCC mac details please?   We will need the zimi guys to restart it remotely - that's what fixed for me

Thanks for the reply, please see pic of MACSent from my iPhoneOn 25 Mar 2024, at 07:57, markhannon @.***> wrote:
Can you send your ZCC mac details please?   We will need the zimi guys to restart it remotely - that's what fixed for me
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

no picture received

MAC4C 24 98 44 4F 3DThanksSent from my iPhoneOn 25 Mar 2024, at 09:46, markhannon @.***> wrote:
no picture received
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Hi, I need the bluethooth MAC, the one starting with C4FFBC

No worriesC4FFBC90C023Thanks Sent from my iPhoneOn 25 Mar 2024, at 14:28, markhannon @.***> wrote:
Hi, I need the bluethooth MAC, the one starting with C4FFBC
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

It should be fixed on your unit now – please test.   (The zimi team pushed an updated firmware to your zcc)
From: Picco-10 @.>
Date: Monday, 25 March 2024 at 16:25
To: markhannon/zimi-integration @.>
Cc: markhannon @.>, State change @.>
Subject: Re: [markhannon/zimi-integration] Second output on 2 port switch is not controllable from Home Assistant (Issue #14)
No worriesC4FFBC90C023Thanks Sent from my iPhoneOn 25 Mar 2024, at 14:28, markhannon @.***> wrote:
Hi, I need the bluethooth MAC, the one starting with C4FFBC
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>
—
Reply to this email directly, view it on GitHubhttps://github.com/markhannon/zimi-integration/issues/14#issuecomment-2017241886, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABVCOCCU6Y3V5SUOT7PXXWDYZ6YNZAVCNFSM6AAAAABCYQ2MY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJXGI2DCOBYGY.
You are receiving this because you modified the open/close state.Message ID: @.***>

All sorted, thanks for your helpSent from my iPhoneOn 25 Mar 2024, at 16:21, markhannon @.***> wrote:
It should be fixed on your unit now – please test.   (The zimi team pushed an updated firmware to your zcc)
From: Picco-10 @.***>
Date: Monday, 25 March 2024 at 16:25
To: markhannon/zimi-integration @.***>
Cc: markhannon @.>, State change @.>
Subject: Re: [markhannon/zimi-integration] Second output on 2 port switch is not controllable from Home Assistant (Issue #14)
No worriesC4FFBC90C023Thanks Sent from my iPhoneOn 25 Mar 2024, at 14:28, markhannon @.***> wrote:
Hi, I need the bluethooth MAC, the one starting with C4FFBC
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>
—
Reply to this email directly, view it on GitHubhttps://github.com/markhannon/zimi-integration/issues/14#issuecomment-2017241886, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABVCOCCU6Y3V5SUOT7PXXWDYZ6YNZAVCNFSM6AAAAABCYQ2MY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJXGI2DCOBYGY.
You are receiving this because you modified the open/close state.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Just comment to let you know how much I appreciate this HA integration. My most used function is automating the shower exhaust fan linked to a ruuvi-tag humidity sensor. Humidity in bathrooms can be a nuisance in Tassie.

Thanks for letting us know.   Nice to hear it is useful
Regards, Mark

From: Ken Webster @.>
Sent: Saturday, April 6, 2024 4:00:45 PM
To: markhannon/zimi-integration @.>
Cc: markhannon @.>; State change @.>
Subject: Re: [markhannon/zimi-integration] Second output on 2 port switch is not controllable from Home Assistant (Issue #14)
Just comment to let you know how much I appreciate this HA integration. My most used function is automating the shower exhaust fan linked to a ruuvi-tag humidity sensor. Humidity in bathrooms can be a nuisance in Tassie.
—
Reply to this email directly, view it on GitHubhttps://github.com/markhannon/zimi-integration/issues/14#issuecomment-2040967061, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABVCOCGGE5RAKEMPYA365ALY36FQ3AVCNFSM6AAAAABCYQ2MY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBQHE3DOMBWGE.
You are receiving this because you modified the open/close state.Message ID: @.***>


Duplicate parameters in generated openapi

Describe the bug
Duplicate parameters in generated openapi, for example (as used in the repro), with this endpoint:
#[endpoint(
    parameters(
        ("max_positions", description = "Maximum number of last positions to report"),
    )
)]
async fn get_foo(
    max_positions: QueryParam<usize, false>,
) -> String {
    format!(
        "max_positions = {}",
        max_positions.into_inner().unwrap_or(0),
    )
}

the resulting openapi contains two entries for max_positions as reflected in the attached screenshot.
To Reproduce
Steps to reproduce the behavior:

See repro
See attached screenshot

Expected behavior
No duplicate parameters.
Other observed issues: The first max_positions entry reflected in the screenshot (which does reflect the given description) is shown as required, but the parameter in the function is declared as QueryParam<usize, false>, that is, optional.  Also, it is shown as path, but it is a query parameter.
Screenshots

This bug is fixed, try to use latest git dependency:
[package]
name = "salvo_issue"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
salvo = { git = "https://github.com/salvo-rs/salvo.git", features = ["oapi"] }
tokio = { version = "1", features = ["macros"] }


Feature: add config option to also filter values out of query strings.

Even though you really shouldn't be putting sensitive information in the query string, maybe some people do, and when they're filing bugsnag reports, they would want to filter those as well. Currently, the values from the query string will end up in metadata.request.params, and will be filtered accordingly there, but they will also show up, unfiltered, in metadata.request.query_string and metadata.request.url.
With the proposed change, a new config option is available as :plugsnag, :filter_query_string which, if set to a truthy value, will apply the same filtering to the query string in these two locations of the report. The default value for this option is false, to maintain backward compatibility, so this is strictly an opt-in change, hence only a minor version bump.
I've also added unit tests for the new functionality, formatted the code with credo, and run dialyxir to verify there were no detected issues introduced, as well as updated the mix.lock to the latest versions with mix deps.update --all.

Rebased onto "master" branch following merging of !52


Modify "The AUTHORS.md file" section in packaging/structure.html

Description of the modifications
Based on a recent PyAnsys developer's meeting, the AUTHORS.MD file use is for ANSYS, INC. and possibly external contributors who request that they be added. Update this section and add a "The CONTRIBUTORS.MD file" section. to explain how it is a list of names for maintainers and contributors.
Useful links and references
https://dev.docs.pyansys.com/packaging/structure.html

Ah, good call @PipKat! As soon as https://github.com/ansys/pygeometry/pull/561 is merged, I'll get to this
Thanks for opening the issue! =)

Working on this!


GH-40441: [GLib][Docs] Use Sphinx for Apache Arrow GLib front page

Rationale for this change
Using both of apache/arrow and apache/arrow-site to maintain https://arrow.apache.org/docs/c_glib/  is difficult to maintain.
What changes are included in this PR?
Use  https://github.com/apache/arrow/tree/main/docs/source/c_glib as https://arrow.apache.org/docs/c_glib/ 's source.
Are these changes tested?
Yes.
Are there any user-facing changes?
Yes.

GitHub Issue: #40441

@github-actions crossbow submit preview-docs

@AlenkaF @jorisvandenbossche Can we enable MyST-Parser to use Markdown in Sphinx?

I am certainly fine with that, yes

Me too 👍

Thanks!
I'll merge this.

@github-actions crossbow submit preview-docs

http://crossbow.voltrondata.com/pr_docs/40442/python/generated/pyarrow.schema.html


High Availability Kubernetes Deployment

I have completed a HA Kubernetes deployment using keepalived/nginx. Let me know if you would like me send a PR to document and share my example group, profile and ignition templates.

Tectonic Bare-Metal serves as the production example of how to deploy multi-etcd and multi-controller clusters, do rolling upgrades, etc. In fact, Tectonic clusters developed directly from the examples here so they can be extended to deploy multi-etcd and multi-controller, do rolling upgrades, etc. with only a bit of effort. So if we add an example, it would probably be based on that.
I opened #398 to gauge interest in seeing open-source examples of CoreOS-style multi-controller Kubernetes clusters.
It might be interesting to get a high level description of your approaches though? Or how it differs from Tectonic? keepalived would probably be considered an environment specific detail left as an exercise for the user in our context.

@dghubble thanks for the feedback. I have seen the Tectonic BM guide, but never tried it. I created an OpenStack HA guide back in the day that was well received by the community. I was thinking of doing something similar for Kubernetes. IMO tons of docs exist, but I can't find one end-to-end guide that can be used for a production-style deployment. Here are a few aspects to my approach:

I use 3 dedicated etcd3 nodes instead of running etcd2 on controllers. It's my understanding that running a dedicated etcd cluster is a best practice. If that is not the case, please let me know and I'll update my setup.

I use a pair of load-balancer nodes that run nginx and keepalived to provide HA to the k8s api's. The nginx load-balancer is configured to terminate SSL and proxy SSL to the backend k8s-controller nodes. In the future, I plan on performing http inspection before proxying https to the k8s api backend.

I use multiple network interfaces on nodes to separate public and private traffic. I have one example of bonding 2 physical interfaces and using VLAN segmentation and another example for separate physical interfaces. I have the associated network configurations for both examples. I use the /ipxe endpoint to provision an OS to the network switches. I am also working on adding either ignition or cloud-init support to the network switches to deliver the switch configs.

I use kube-parrot, BGP on the network switches and ExternalIPs to provide external access to k8s services.

For more details, check out my commits

Its awesome you've been able to adapt the Container Linux configs from the examples for your use cases! That's exactly the goal!
I think these commits are too specialized to be included directly though. I'd like Matchbox examples to achieve a few high level goals:

Demonstrate how to provision standard or popular clusters (e.g. vanilla self-hosted bootkube) on Container Linux.
Keep examples simple. Matchbox's main aim is to be a useful on-premise service/API. That means it won't show every customization or try to compete with specialized tools.
Keep examples educational. Being able to start with one of the examples is an entrypoint for people learning best-practices and getting excited about Container Linux, matchbox, or Kubernetes.
Run in the QEMU/KVM development and CI environment (the matchbox service is developed by PXE booting clusters on our laptops and automated by CI).

Your questions:

etcd usually recommends dedicated nodes, though lots of those docs assume cloud VMs. To keep the Kubernetes examples simple and usable locally, controllers act as etcd peers. This is going to change once etcd is self-hosted (run as pods). Examples also have a stand-alone etcd3 cluster. The right solution depends on user's needs.
Tectonic fronts multiple controllers via DNS round robbin by default and leave it as an exercise for deployers since there are so many ways to do it.
Bonded NIC examples might be a useful addition to Container Linux Config docs since its a feature directly exposed through Ignition. VLAN doesn't fit into the development environment, but could be an addition to Container Linux Config docs as well perhaps.
BGP might be a useful topic for a tutorial in docs. To expose services externally and perform TLS termination, you could use Kubernetes Ingress controllers and no external components are needed. This was put in Tectonic. It can be integrated with BGP with some work.

Other comments:

I've avoided hardcoding IPs into any cluster examples. I'd prefer machine configurations use DNS names so its easier to reconfigure the network within breaking things later.
You might wish to explore self-hosted Kubernetes sooner rather than later. Its the one we're most actively developing, testing, iterating on, and integrating into the enterprise offerings too. Self-hosted etcd, etcd3, self-hosted flannel, and operators are being developed for self-hosted Kubernetes (i.e. bootkube).

I use BGP to route Virtual IPs, for HA purposes. Deployment is entirely Bootkube and Matchbox based.  It strays from the examples in that it uses Calico and not Flannel.
Would a Calico example of Bootkube be of interest? Otherwise I'm sure I could achieve the same thing with GoBGP services managed by systemd or kubernetes.

@bzub can you expand on:

I use BGP to route Virtual IPs, for HA purposes.

Are these virtual IP's of endpoints such as kube-apiserver and/or etcd? I am interested in better understanding your use of BGP.
I am currently in the process of converting my matchbox-based deployment from Flannel to Calico. I would really appreciate you sharing your cloud-init or ignition templates.

@danehans
My Calico + Bootkube setup is documented in a Bootkube issue for now.  Outside of the VIPs, it doesn't really touch my Container Linux Config or matchbox, which in this context just deploys Bootkube per the examples since I manually replace the Flannel manifests that Bootkube renders with Calico ones.
The virtual IPs can be used for most any service in a Kubernetes cluster.  The ways I expose them in Kubernetes are:

nginx-ingress listening on the VIPs via externalIPs
Using externalIPs directly in a service without a reverse proxy in front

You could also use hostNetworking at the Pod level to bypass kube-proxy, which may help simplify the preservation of source IPs if desired.  To answer your question I don't actually use this for kube-apiserver or etcd yet, but only because I haven't had time to make the change from a DNS round-robin approach to HA for those services.  For kube-apiserver it should only be a matter of configuring kube-apiserver to use a VIP via the --bind-address= argument, and in my case adding a new VIP for that role since nginx-proxy would conflict with kube-apiserver's use of port 443.  In fact for now I use --bind-address to bind to the node's non-VIP, otherwise it tries to use all interfaces including the VIP.  Currently I use the VIPs for external DNS and all my personal services I want exposed outside the cluster.
I put more details and examples of the Matchbox/CL Config/Calico setup in a gist.  I'll try to improve it with inline links to documentation as I find time, feel free to comment.  I'll also make all my files public in full at some point and let you know.  I should point out that this setup requires a router or switch that talks BGP and to have Calico peer with it.  Not difficult, but I would like to move in your direction @danehans and use Linux servers + Kubernetes services for networking instead.

A simple multi-controller Kubernetes example was added in
https://github.com/coreos/matchbox/tree/master/examples/terraform/bootkube-install#options via multi-controller.tfvars.example. The design flexibly takes a list of controllers and workers, so the multi-controller example just shows how to list 3 controllers and 1 worker (instead of the usual 1 controller, 2 workers in examples). The controller DNS record (i.e. k8s_domain_name) refers to controllers in a round-robin fashion, instead of just to a single controller.
Ingress controllers are certainly important for HA application serving and more custom networking (Calico, BGP, VIPs, etc.) is certainly relevant for many deployment scenarios. But probably out of scope for these matchbox examples showing how different clusters can be provisioned on-prem.


Make it easier to extend the supported attribute types

As a user, I want to easily extend the available mappers of the pydantic model attribute types, for example, if there is a class that has an attribute type not supported by pydantic-factories and involves third-party libraries like this case, the extension of the mappers should be done on the user side.
Right now to do this the user has to subclass ModelFactory, override the method and extend the base value. This has the downsides that:

As the returned value of get_provider_map is generated on the return statement, to override the method the user has to copy and paste the whole dictionary potentially being outdated on future pydantic-factories releases.
It's not documented how to do this.
It's not easy for the user to do all this.

What I'm proposing is that ModelFactory has an internal attribute settable by the user where she can define the additional mappers, for example to give support to FakeDateTime the user's code would be:
from freezegun.api import FakeDatetime

class CustomModelFactory(ModelFactory):
    additional_mappers = { FakeDateTime: cls._get_faker().date_time_between }

We'll have to tweak get_provider_map so that it merges the default mapper dictionary with the user's

I have no problem with this proposal you're welcome to add a PR. Please note the following though:

we use the dunder pattern for factory variables, i.e. __additional_mappers__ instead of additional_mappers
you could contribute documentation regarding how to subclass the factory, which will resolve the issue
you can also subclass the method get_mock_value

Mocking get_mock_value makes more sense, I'll add the docs once I've got a working example, thanks!

Done!