NUT-XX: Clear authentication – NUT-XX+1: Blind authentication

These NUTs describe a blind authentication protocol that uses OAuth2.0 OpenID connect standards to limit access to their mint. Mint operators can restrict access to their mint to a known set of users with registered accounts, while still providing them privacy during the use of the mint with the help of blind signatures (blind auth tokens).
Essentially, we're using ecash tokens for blind authentication. We're using ecash to secure ecash.
There are two NUTs in this PR:

NUT-XX: Clear authentication describes how connect a mint to an OpenID Connect service and wallets to obtain a clear auth token (CAT) that identifies the user
NUT-XX+1: Blind authentication describes how to turn a CAT into multiple blind auth tokens (BATs) which can then be used to access the protected endpoints of the mint.

The diagram below illustrates the protocol flow.

┌──────────────────────────────────────────────────────────────────────────┐
│ ┌────────┐                     ┌────────┐                  ┌───────────┐ │
│ │  User  │                     │  Mint  │                  │   OpenID  │ │
├─┴────────┘─────────────────────└────────┴──────────────────└───────────┴─┤
│                                                                          │
│                           1. Clear authentication                        │
│                           =======================                        │
│                                                                          │
│                                       Mint registers OpenID service      │
│                                     ◄───────────────────────────────     │
│                                                                          │
│           Wallet GET /v1/info                                            │
│    ─────────────────────────────────►                                    │
│                                                                          │
│                                OpenID login                              │
│    ────────────────────────────────────────────────────────────────►     │
│                                                                          │
│                              Respond with CAT                            │
│    ◄────────────────────────────────────────────────────────────────     │
│                                                                          │
│                           2. Blind authentication                        │
│                           =======================                        │
│                                                                          │
│           Request BAT using CAT                                          │
│    ─────────────────────────────────►                                    │
│                                                                          │
│                Return BAT                                                │
│    ◄─────────────────────────────────                                    │
│                                                                          │
│           Use BAT to access mint                                         │
│    ─────────────────────────────────►                                    │
│                                                                          │
└──────────────────────────────────────────────────────────────────────────┘

Notes

This requires the use of an external OpenID Connect service. I have used Keycloak so far and it was very easy to set up. Another popular choice seems to be ory/hydra.
NUT-XX does not describe how the OAuth2.0 and OpenID Connect protocols work. There are many libraries that can handle this for you but I found it also easy to implement it myself.
NUT-XX+1 begins after you have obtained an access token from the OpenID connect server.
NUT-XX+1 defines a bunch of endpoints that behave very similarly to the normal /v1/ ecash endpoints we already use. I found it quite convenient to re-use code from the wallet and the mint side to mint, validate, and keep track of spent blind auth tokens.

Todo:

[ ] Mints should not burn a BAT on an errored request so that external users with a BAT contained in a TokenV4 can re-try melting (instead of having only one shot)
[ ] client_id should be part of the info endpoint so it can be dynamic (instead of requiring the OICD use cashu-client)
[ ] Add recommended parameters for max_bat_mint, rate-limiting BAT minting (in time), and rotating auth keysets

I’m glad to see 2 NUT specs (Clear +Bind) and it is what is needed. I’ve made some suggestions below which are open for debate and acceptance.

We need to provide a way for the mint to use clear or blinded authed endpoints depending on the types of endpoint. E.g. Minting and melting may require clear authed endpoint while transfer/swap may require blinded auth. This information can be provided using NUT-96 mint information.

There can also be mints with only blinded auth. E.g. whitelisted pubkeys. Simply call the blind_auth endpoint with Auth as pubkey and get blinded auth tokens. No need for clear auth or open ID.
"XX" : {
  "openid_discovery": "https://mint.com:8080/realms/nutshell/.well-known/openid-configuration",

  "CAT_endpoints": [
    {
        "method": "POST",
        "path": "/v1/auth/blind/mint"
        “Path”: “/v1/mint/quote/bolt11”

    }
  ]
}

"XX+1" : {
“Blind_auth”: "/v1/auth/blind/mint",

"BAT_endpoints": [
    {
        "method": "POST",
        "path": "/v1/swap"
    }
  ]

}

This way the protocol is not restricting to use only blinded auth rather the mint can choose to implement clear or blinded auth and provide the information in the manifest/NUT06

Always use the “Authorization: Bearer” format. This is typical to all protected APIs in use today. Let’s follow the same pattern. Since BAT starts with authA, the mint should know if this is CAT or BAT.
 Authorization: Bearer <CAT>/<BAT>

Questions:
How will the CAT expiry time be attached to BAT expiry time?
"max_mint": 50 - is there a benchmark/best practice for an optimal number to use here?

We need to provide a way for the mint to use clear or blinded authed endpoints depending on the types of endpoint.
This is already possible.

There can also be mints with only blinded auth. E.g. whitelisted pubkeys... No need for clear auth or open ID

This is not in scope of this spec.

2. Always use the “Authorization: Bearer” format.

This is a matter of taste and makes no practical difference.


webpack:/// added twice to CSS sourcemap

I'm getting webpack:/// protocol added twice to the sources in the CSS source map with the following configuration:
webpack.config.js:
var ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
  entry: './entry.css',
  module: {
    loaders: [
      {
        test: /\.css$/,
        loader: ExtractTextPlugin.extract(
          'style',
          'css?sourceMap'
        )
      },
    ]
  },
  output: {
    filename: '[name].js'
  },
  plugins: [
    new ExtractTextPlugin('[name].css'),
  ],
  devtool: 'source-map'
};

entry.css:
body {
    font-family: sans-serif;
}

main.css.map:
{
  "version": 3,
  "sources": [
    "webpack:///webpack:///entry.css"
  ],
  "names": [],
  "mappings": "AAAA;IACI,wBAAwB;CAC3B",
  "file": "main.css",
  "sourcesContent": [
    "body {\n    font-family: sans-serif;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///entry.css\n **/"
  ],
  "sourceRoot": ""
 }

Could you try adding the context configuration option.

I tried context: __dirname, but it didn't help.

@jpvanhal Any luck with this?

Nope. I just reproduced this with the latest versions of webpack, extract-text-webpack-plugin, css-loader and style-loader.

@jpvanhal Can you try against webpack 2 rc?

Yep, seems to still reproduce with the latest rc.
I used the following package versions:
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
...and I had to slightly adjust the ExtractTextPlugin part in webpack.config.js:
'use strict';
var ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
  entry: './entry.css',
  module: {
    loaders: [
      {
        test: /\.css$/,
        loader: ExtractTextPlugin.extract({
          fallbackLoader: 'style-loader',
          loader: 'css-loader?sourceMap'
        }),
      },
    ]
  },
  output: {
    filename: '[name].js'
  },
  plugins: [
    new ExtractTextPlugin('[name].css'),
  ],
  devtool: 'source-map'
};


Unable to recognize the base of Vite

# vite.config.ts
export default defineConfig({
	base: "/vite-plugin-fake-server/",
	plugins: [
		react(),
	],
});

# package.json

# Previously
"dev": "vite",

# Now
"dev": "vite-react-ssg dev",

The behavior of vite-react-ssg dev and vite is different, vite-react-ssg dev cannot recognize the path specified by base.

In addition, https://github.com/antfu/vite-ssg only replaces the build command

Hi @condorheroblog , now, vite-react-ssg supports' base.
You can check the example here: https://github.com/Daydreamer-riri/vite-react-ssg/blob/main/examples/lazy-pages/vite.config.ts


We should remove our dependency on @angular/flex-layout

The Angular folks have stopped working on/supporting this package, which never actually made it out of beta. I'm not sure if we actually use/need it, or in what way, but we should remove our dependency on it and (if necessary) figure out what a reasonable alternative might be.
This issue also exists in Lab 4 and the Iteration Template.

The iteration template and this lab both have removed the use of flex-layout, although there are still a few small things with labels like fx that may need attention.


stain augmentation seems to modify contrast/intensity but not hue

Hello,
I have tried to augment image patches using different values for sigma1 and 2. Is it possible that this function perturbs contrast or intensity but not hue/color?
Best regards,
Kai

Yes that is true. As implemented here at present we augment the concentration matrix but not the stain matrix (roughly equates to hue). This may or may not be the desired result, so it is good to be aware


Mismatch between scores in classic association and AOTF

Describe the bug
The scores in classic association do not correspond with the scores in AOTF. The scores in AOTF might be the right ones.
The query in classic association does not seem to be passing the right weights to the private datasources (with the lock)
Example: https://partner-platform.dev.opentargets.xyz/target/ENSG00000180370/associations
This issue would have been there in the previous PPP release as well.
To Reproduce
Screenshots here.

@carcruz did you have the chance to think about this task?

This issue does not exist in the PPP anymore. Updated screenshots.


Segmentation Fault (core dumped) Issue

System information
I have written custom code
OS Platform and Distribution: CentOS Linux release 7.7.1908 (AltArch), Power9 PC with 4 GPU nodes, 1 login node and 1 compute node and it has little endian architecture
TensorFlow installed from (source or binary): https://public.dhe.ibm.com/ibmdl/export/pub/software/server/ibm-ai/conda/
TensorFlow version (use command below): 2.1.3 (tensorflow-gpu) - This is the latest available version from the above channel for ppcle64 architecture.
Python version:3.6.13
Bazel version (if compiling from source):
python compiler version: GCC 7.3.0
CUDA/cuDNN version:10.2
GPU model and memory: NVIDIA Tesla V100, Total memory: 379140608 kB =379.140608 GB (in one of the node)
Are you willing to contribute it (Yes/No) : Yes
I use Supercomputer at our organization for training. I am facing the Segmentation Fault (core dumped) Issue, when I attempt to train a CNN model. The model gets trained for a smaller number of Epochs. Eg if epochs=50 the model runs fine and outputs the trained model file (using callbacks in model.fit). But when epochs are increased, to 75 then segmentation fault occurs at 54th epoch for the same dataset. I ran .py file by submitting it as a job through slurm script. Dataset size is 80,000*5600, around 9GB.
code
import os
import os.path
import sys

import h5py
import numpy as np
import tensorflow as tf
from tensorflow import keras

def load_file(database_file, load_data=False):
    in_file  = h5py.File(database_file, "r")
    X_train = np.array(in_file['training/data'],dtype=np.int8)
    Y_train = np.array(in_file['training/label'])
    X_test = np.array(in_file['testing/data'], dtype=np.int8)
    Y_test = np.array(in_file['testing/label'])
    if load_data == False:
        return (X_train, Y_train), (X_test, Y_test)
    else:
        return (X_train, Y_train), (X_test, Y_test), (in_file['train/data'], in_file['test/data'])

database = "/home/..../dataset.h5"
trained_model = "/home..../trained_epoch_test.h5"

(X_train, Y_train), (X_test, Y_test) = load_file(database_file)

X_train_scaled = X_train.reshape((X_train.shape[0], X_train.shape[1], 1))
X_test_scaled = X_test.reshape((X_test.shape[0], X_test.shape[1], 1))

y_train_categorical = keras.utils.to_categorical(Y_train, num_classes=256)
y_test_categorical    = keras.utils.to_categorical(Y_test, num_classes=256)

batch_size = 300
epochs = 100

classes=256
input_shape = (5600,1)
img_input = keras.layers.Input(shape=input_shape)

x = keras.layers.Conv1D(64, 11, activation='relu', padding='same', name='block1_conv1')(img_input)
x = keras.layers.AveragePooling1D(2, strides=2, name='block1_pool')(x)

x = keras.layers.Conv1D(128, 11, activation='relu', padding='same', name='block2_conv1')(x)
x = keras.layers.AveragePooling1D(2, strides=2, name='block2_pool')(x)

x = keras.layers.Conv1D(256, 11, activation='relu', padding='same', name='block3_conv1')(x)
x = keras.layers.AveragePooling1D(2, strides=2, name='block3_pool')(x)

x = keras.layers.Conv1D(512, 11, activation='relu', padding='same', name='block4_conv1')(x)
x = keras.layers.AveragePooling1D(2, strides=2, name='block4_pool')(x)

x = keras.layers.Conv1D(512, 11, activation='relu', padding='same', name='block5_conv1')(x)
x = keras.layers.AveragePooling1D(2, strides=2, name='block5_pool')(x)

x = keras.layers.Flatten(name='flatten')(x)
x = keras.layers.Dense(4096, activation='relu', name='fc1')(x)
x = keras.layers.Dense(4096, activation='relu', name='fc2')(x)
x = keras.layers.Dense(classes, activation='softmax', name='predictions')(x)

model = keras.models.Model(img_input, x, name='cnn_best')
optimizer = keras.optimizers.RMSprop(lr=0.00001)
model.compile(loss='categorical_crossentropy', optimizer=optimizer, metrics=['accuracy'])

save_model = keras.callbacks.ModelCheckpoint(trained_model)
callbacks=[save_model]

model.fit(x=X_train_scaled, y=y_train_categorical, batch_size=batch_size, verbose = 1, epochs=epochs, callbacks=callbacks)

Following is the logs generated after enabling fault handler() function:

Slurm Script used to submit the job
#!/bin/bash
#SBATCH --partition=GPU_three
#SBATCH --nodelist=Node_03
#SBATCH --output=output
python3 train.py
(I followed https://github.com/keras-team/keras/issues/14473 for importing Keras from Tensorflow, though segmentation fault persists)
FYI: Meanwhile, I used Tensorflow Mirrored strategy within one GPU, but that also resulted in segmentation fault after some more epochs than normal implementation.

@peter-jp ,
I am facing different error while executing the given code.Please find the gist here.

Actually, It points to the dataset location.

@peter-jp ,
In order to expedite the trouble-shooting process, could you please provide a complete code and the dataset you are using.

yes

@peter-jp ,
In order to expedite the trouble-shooting process, could you please provide a complete code and the dataset you are using.Also please try to test the code in latest stable version2.8  and let us know if you are facing same issue.Thanks!


config: add tearline token

Codecov Report

Merging #95 into master will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff           @@
##           master      #95   +/-   ##
=======================================
  Coverage   56.99%   56.99%
=======================================
  Files           9        9
  Lines        1358     1358
=======================================
  Hits          774      774
  Misses        488      488
  Partials       96       96

Impacted Files
Coverage Δ

pkg/msgapi/message.go
21.8% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


create sitemap

create sitemap.xml during building

PTAL

Will adopt Nuxt.js for SEO task, close for now.


net, syscall: implement network interface API on Solaris

Solaris supports routing socket, so it would not be tough.

This should provide the support for interfaces and addresses (sans Multicast for which there is a separate issue files).
https://github.com/postwait/go/commit/d482dd74bcdc1b712d7929f321b56488335379b8

@postwait, we can't take patches that way. Everything that goes into one of the Go repos needs a CLA agreement. See https://golang.org/doc/contribute.html .  I already put it here as well..
https://go-review.googlesource.com/#/c/29190/

One issue with the code is that it fails the net.TestInterfaces
It would seem that the go code assumes that an ifindex on an interface unique refers to a set of properties on the interface.  On Solaris... ifindex+family uniquely describe this.
So, on my box there are two interfaces with ifindex: 1... one is IPv4 and the other is IPv6... the test fails because these two interfaces have different MTUs.
I see two solution... fake an ifindex, or unbreak this uniqueness assumption.

@mikioh, preferences?

A "bad solution" but flexible is to have this make the ifindex's act as
go_ifindex := (ifindex * 256) + family
It would then be sparse, but allow for all families to be be uniquely indexed... It's a nasty approach though.

Actually fudging the ifindex isn't useful.  That test does a check by name as well.  There are certainly two lo0's on my box... and they definitely have different MTUs.  So, back to square one... almost need to simply annotate that the test assumptions aren't valid on Illumos/Solaris.

Not so good at this Gerritt thing... super different workflow 👎

It grows on you. I can't do a Github code review these days.

The latest change proposed skips the test as invalid on Solaris.


dlopen available from C runtime

We've had a request to accommodate systems/environments where dynamic loading (via dlopen()) is provided by the runtime library instead of libdl.  This issue is set up to track progress resolving this.

Tracking the code for this issue in branch xlc-dlopen.

I've added a check in configure.ac which checks for dlopen() and only seeks out libdl if dlopen() is not found without it.  There should probably be logic so that you can force usage of libdl even if the system library provides it.
Surprisingly, dlopen is provided by the runtime C library on OSX.

I am not sure I understand; either the user is using libdl in which case
they place in load libraries list, or they are using the runtime, in which case,
they should not need to do anything?
Why do we need to do anything?
What am I missing?

I believe this issue should be closed.
I added some extra checking for the dl library, it's required by recent HDF5 versions. So I think this is working on master (and for the most recent release).


Allow Shift-Enter to trigger auto-indent

I run alacritty as my terminal, and that lets me properly map <S-CR> in the terminal by sending vim the keystrokes it expects. This causes problems with auto-indent though, as sometimes if I type quickly I'll press Shift+{, then press enter while Shift is still pressed, and then the indentation won't trigger. I tried doing inoremap <S-CR> <CR> but that didn't seem to work. Any ideas on how to solve this minor annoyance?

Could you post your alacritty config file? When I use the plugin in alacritty with default config it doesn't have this issue.

Sure, this is the relevant part of my config:
key_bindings:
  # Vim expects these codes for <S-CR> and <C-CR>
  - { key: Return,   mods: Shift,   chars: "\x1b[13;2u" }
  - { key: Return,   mods: Control, chars: "\x1b[13;5u" }

This issue is fixed in 6b1def5229a461eed076d4d7ecad531edbfcea97. Thanks for your feedback.


vit-model-training notebook blocked: can't load data

In vit-model-training/walkthrough.ipynb, the cell data = pd.read_csv(label_file) fails with
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/dataset_cache/chest-xray-nihcc/Data_Entry_2017_v2020.csv'

The directory /tmp/dataset_cache is not present, and the .csv file is not elsewhere on the storage (I think). This blocks the rest of the notebook.

The dataset is in the process of being uploaded to Paperspace, and the notebook has been removed from the runtime until then.

The notebook has been temporarily removed as this is worked on.

New version https://github.com/gradient-ai/Graphcore-Pytorch/pull/44 doesn't have this error, so closing.


[WIP] iOS header refinements

Ideas welcome.
This pull request applies various visual tweaks to the header on iOS, most notably it adds support for back button label.
By default, we will display a previous route title. I consider the logic done. The only part left is the styling itself, with a couple of todos as listed below.
Todo:

[ ] Better visual fixes
[ ] Fix header glitch

Will request reviews when ready. In the meantime feel free to chime in.

Will re-open when ready.


Animations?

Great addon 👍
Any chance y'all have played with this + Ember Animated yet? Or what the animation story might be?

I built kybishop/ember-attacher for animation support, but it largely runs off RAF/CSS-based animations inspired by tippy.js.


fix(docs): update slack to discord - #388

Signed-off-by: avyay10<EMAIL_ADDRESS>

Closes #388

Changed the Slack link to the Discord link
Changes

Related Issues

Issue #388

Author Checklist

[x] Ensure you provide a DCO sign-off for your commits using the --signoff option of git commit.
[ ] Vital features and changes captured in unit and/or integration tests
[x] Commits messages follow AP format
[ ] Extend the documentation, if necessary
[x] Merging to master from fork:branchname
[ ] Manual accessibility test performed

[ ] Keyboard-only access, including forms
[ ] Contrast at least WCAG Level A
[ ] Appropriate labels, alt text, and instructions

@irmerk DCO signoff completed


Max DNS Entries should not be included as option for HTTP/Steering Delivery Services

Max DNS entries only apply to DNS routed delivery services. Altering this field in traffic portal does not change anything in CRconfig generation for HTTP routed/steering delivery services. Max DNS entries should be removed from the form for HTTP routed delivery services and steering delivery services.

double-checked. max_dns_answers is only on the DNS delivery service form.


[Datumaro] Add dataset examples

Motivation and context

Adds examples for datasets in tests. The corresponding tests depend on #1463 and added there.
How has this been tested?

Checklist

[x] I submit my changes into the develop branch
[ ] I have added description of my changes into CHANGELOG file
[x] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (read github docs)
[ ] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[ ] I have updated the license header for each file (see an example below)

# Copyright (C) 2020 Intel Corporation
#
# SPDX-License-Identifier: MIT

Pull Request Test Coverage Report for Build 5446

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 65.666%

Totals

Change from base Build 5409:
0.02%

Covered Lines:
10838

Relevant Lines:
16101

💛  - Coveralls

@zhiltsov-max  Is these assets used for tests?

@azhavoro, the corresponding tests are added in #1463.


exec auth provider expiration causes problems

Repro steps:

Check out any Tilt project and sync to the latest version of https://github.com/windmilleng/k8s-rbac-testing, our library of auth testing scripts
Create a KinD cluster (kind create cluster)
Create a namespace guarded by an exec auth provider: (./k8s-rbac-testing/create-restricted-namespace.sh -e n1)
Our script will create two tempfiles. One contains the auth credentials. The other contains an access log for the auth credentials. It will look like this:

A credential script has been created. Rotate the keys with:
./rotate-exec-credential-script.sh n5 /tmp/tmp.t5DZcipNY6

Get the access log with:
cat /tmp/tmp.t5DZcipNY6.log

Go into that first tempfile, and add an expirationTimestamp for sometime in the past
{
  "kind": "ExecCredential",
  "apiVersion": "client.authentication.k8s.io/v1beta1",
  "status": {
    "expirationTimestamp": "2019-12-20T16:12:02Z",
    ...
}

Run tilt up with the KUBECONFIG created in step 3. Tail the access log reported in step (3)

Expected result:.
Tilt should somehow report that your token is expired, and incrementally back off
Actual result:
Tilt keeps calling the exec auth provider dozens of times per minute. The token works ok.
If you delete the token (./k8s-rbac-testing/delete-exec-credential-token.sh n1) while Tilt is up, even weirder things happen.
The informers don't notice that they've lost access to the cluster. When you change something, Tilt will notice that it can't make changes to the cluster and report errors appropriately. Each push accesses the exec auth provider twice.

oh, wait, i'm wrong! the informers do notice. they blow up and eventually start fetching 5-10x a second with the error "Failed to list XXX resource" and accessing the exec provider that often

updated the above comment with more details on how the informers behave. We may need to file a bug upstream against client-go

also, some historical context: @jazzdan has talked to sig-api-machinery in the past with the problems with how client-go informers handle and report errors, but there hasn't been much movement towards fixing the problem. See https://github.com/kubernetes/client-go/issues/155 for additional discussion.
It might be worth forking client-go, coming up with a solution that works for us, then proposing it upstream


upgrade to conan2

Similar to hypertrie, it makes sense to wait for next week before merging. In case we need to do something on develop


Is there a supported way of using this client from PowerShell using ADO APIs only?

Currently, trying to even just register the provider fails.
This:
  Add-Type -Path "\path\to\Microsoft.Data.SqlClient.dll"
  [System.Data.Common.DbProviderFactories]::RegisterFactory("Microsoft.Data.SqlClient", [Microsoft.Data.SqlClient.SqlClientFactory]::Instance)
  # <call something that will try to use a Microsoft.Data.SqlClient connection string using normal ADO API>

fails under PowerShell 7.3.3 (with \path\to being the result of a dotnet publish of a console app targeting net6.0, so it should be the right DLL with all its relevant dependencies around it).
We get Multiple ambiguous overloads found for "RegisterFactory" and the argument count: "2"., because [Microsoft.Data.SqlClient.SqlClientFactory]::Instance evaluates to $null. That's pretty weird.
That then makes the later connection code fail because the provider is not registered.
I see a few tickets talking about using powershell's Install-Package to download from NuGet, but I don't see how that helps in this case (the binaries are already being taken from dotnet publish output, so the nuget restore + dependency resolve etc. have already been applied, making this less fragile than hardcoding in-package paths).
It would be quite useful to have official documentation on whether this usage is supported, and if it is, include an example of a PowerShell script making a connection this way (i.e. not by directly instantiating a SqlConnection).

@Zastai thanks for opening the issue. We will get back to you on this soon.

dotnet-sqlient-1999.zip
Small repro case, in case it helps. The repro.ps1 script will build and publish a tiny console app (which does the RegisterFactory and writes a message, just to show there is no problem there). Then it runs script.ps1 which tries to do the same thing from powershell.


add option to wait for heroku build on open action instead of only synchronize

I'm using this action to deploy the review app to Heroku and then deploy my frontend directory to Netlify in the same workflow.
Currently, the Netlify deploy step could be reached before Heroku is finished building the review app.
I think it would be useful to be able to wait for the Heroku build to complete on the initial open action instead of just synchronize
I can submit a PR with a solution if that's something you'd be willing to incorporate.

That's a welcomed improvement. However, I'd say this should be added as a step without needing a new option, and it should only happen when it's opened or reopened.

- name: Create Build
      if: ${{ github.event_name == 'pull_request' && github.event.action == 'synchronize' }}
      shell: bash
      run: |
        export SOURCE_GET_URL=$(echo ${{ toJSON(steps.source_endpoint.outputs.SOURCE_ENDPOINT) }} | jq -r '.get')
        export OUTPUT_STREAM_URL=$(curl -X POST https://api.heroku.com/apps/$APP_NAME/builds \
        -d '{"source_blob":{"url":"'"$SOURCE_GET_URL"'", "version": "${{ github.event.pull_request.head.sha }}"}}' \
        -H 'Accept: application/vnd.heroku+json; version=3' \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer ${{ inputs.api-key }}" | \
        jq -r '.output_stream_url')
        curl $OUTPUT_STREAM_URL

I was thinking to just refactor the if to:
if: ${{ github.event_name == 'pull_request' && (github.event.action == 'open' || github.event.action == 'synchronize') }}
But you would rather it have a new step @pmbanugo ?

Yes, as a new step. I left my reason why it should be that way.

@pmbanugo thank you for the explanation. Makes total sense. I'll update my PR 👍


Upgrading Xamarin Forms and GoogleServices version - Map Pin Z-Index

Hi guys, I'm wondering if you'll be inclined to update the Xamarin Forms version to at least <IP_ADDRESS> and Google Services to at least 32.961.0?
Main reason for this request is to add z-index support to map pins. Whilst there's no requirement on the iOS side of things but Android needs the base Google Services to be at least 32.961.0, in which contains the necessary support for it.
If there's no problem in upgrading the base version of those libraries, I'll submit another pull request in the soon future.
Thanks.

Hi Renfred,
I would like to do this, yes. But I ran into some problems with appveyor (https://github.com/fiveninedigital/UnifiedMaps/pull/31), because they use old android sdk build tools and apis. They have a newer environment to build xamarin project, i have to try that.
Have you tried to upgrade the packages and test a local build with your app?

Hi Jan, yes I tried updating the base frameworks to specific versions as described and did a build with my app. It works as expected without issues.
One thing to note is upgrading Xamarin Forms to <IP_ADDRESS> also upgrades Android support packages to 24.2.1.
My app is using XF <IP_ADDRESS>2, Android support packages <IP_ADDRESS>, and Google services 32.961.0. It compiled without issues.

Thank you very much for your contribution. Changes are merged and in Version 1.6 on NuGet.


[Bug] [dolphinscheduler-api,dolphinscheduler-worker] The timeout length and check interval of dependency check are not effective

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
1.The timeout length and check interval of dependency check are not effective
2.After timeout, the task status is always running and will not fail

What you expected to happen
.
How to reproduce
.
Anything else
No response
Version
2.0.2
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

The  feature "waiting depend node start" is currently inactive,  i suggest disable this feature on the ui, we can improve it and  open this function later.


Fix: prometheus - correct default value of prometheus_exporters_groups_to_scrape

Dear @ginomcevoy
You are right, I didn't seen that one due to my inventory in place.
Thanks a lot ! 😊


Replace deprecated React.PropTypes with prop-types package

React.PropTypes has been deprecated for a while, and has been removed entirely from React 16.0. This PR replaces React.PropTypes with PropTypes from the designated prop-types package.
I've separated the build (dist/) into a separate commit so as to make it easier for maintainers to see what has actually changed. I can merge these two together before merge if so desired.

Guess this module in unmaintained


Support recursion and distinct selection

Hey 👋
We have a use case that I've presented to @divyenduz  and @pantharshit00 , and have been asked to share it here for further discussion.

The use case
Essentially, it's a lot of teams of teams with users in each. The teams will have a hierarchy to them, often times defined by geographical relations. For example,

A team, Oxford Street, has a list of users.
Another team, London, has a list of users, as well as the Oxford Street and a third team, "The Big Ben Squad" in it.
Yet another team, UK, has the London team, and, by parent ownership, the street teams as well.

The requirements

A team is a collection of users
Teams have a hierarchy to them, and teams higher up automatically include all users of child teams.
Users can also be connected to teams higher up in the hierarchy without being included in the child teams. I.e., a user can be connected to "UK" without also being a part of neither "London" nor "Oxford Street"
Users can be part of multiple teams in multiple levels of the hierarchy, for example both "London", "Oxford Street" and "UK"

As far as we can tell, it will require self-referencing models, which is supported by native MySQL using CTEs, but we're not sure if Photon will be able to handle it in a performant way.
A pseudo-schema
type User {
  partOfTeams: [Team]
}

type Team {
  users: [User!]
  parentTeam: Team
  childTeams: [Team]
}

The schema does not completely encapsulate the requirements mentioned in text - specifically that teams higher in the hierarchy automatically should include users from teams lower in the hierarchy
Performance considerations
We're afraid that if we want to get, say, all users connected to one of the top level hierarchies, say a country, that the query could potentially be very slow due to the recursive nature of the data
For example:
UK is at the top of a hierarchy. It has 2000 users connected directly to it. Below it are 80 major cities, each with an average of 1000 users connected directly to it. Below each of those is an average of 20 teams, each with an average of 200 users
When we want to get "How many users are in teams in the UK?", we should get
2000 + (80*1000) + (20*200) = 86000 users
We might not ever want to get a list of that magnitude unpaginated, but we'd want to get aggregates for each level in the hierarchy, and also be able to get paginated results of the tree on different entry points (i.e. users in UK, users in London ...)
Skip duplicates
Furthermore, we would like to be able to skip duplicates if a specific user is part of multiple teams - for example if a user is part of two teams in the same city, he should only count for 1 in the total of "number of users in UK", and only show once on that list, but should still show once for each of the specific teams
Example
Let's say we have four layers of teams for a tree

UK
London
London West, London East
Team A In London West, Team B in London West

Our user, Waldo, is part of both Team A and Team B. Another user, John, is part of the London team.
If we want a user list that includes all users in the UK, we expect both John and Waldo to be returned. Ideally, Waldo would only be included once, in spite of being part of two teams.
Proposed API
How would one contruct such a query using Photon?
const teamsInTree = await photon.teams.findMany({
    where: { ?? } // not sure what a recursion API would look like, it needs a break condition
})
const users = await photon.users.findMany({
    where: {
      partOfTeam: teamsInTree.map((team) => team.id),
    },
    {
        skipDuplicates: true // any plans for something like this?
    }
  })

I went through the photon spec and we do have an API laid out for Distinct selection: https://github.com/prisma/specs/tree/master/photonjs#distinct
It is not implemented yet.

I went through the photon spec and we do have an API laid out for Distinct selection: https://github.com/prisma/specs/tree/master/photonjs#distinct
It is not implemented yet.

link broken. select on distinct like feature would be very velcome. Hasura has it :-)

Would be keen for an update on this too!

It can be found here: https://github.com/prisma/specs/issues/356

+1. distinct is necessary in most real world projects.

We implemented distinct in version 2.3.0 so I will close this issue.
If there is another more specific part which isn't covered after trying out distinct, happy to re-open or create a new one tailored to that use case.
Thanks!


Option to Maintain Rank Order and Other Changes

Added a switch to settings for maintaining rank order.  The app will get the portfolio items in ascending order and the stories in descending order so that when rank order is to be preserved, items are created in the right order.
The rank order option will be slightly slower because it forces the calls to be sequenced instead of asynchronously parallel.
Other changes in this package:

Some small changes to UI interaction
Added a switch so that the user can be prevented from or allowed to set the project to the current one.  When allowed to use the current one, the project picker will default to that on load.
Added a switch so that story Schedule State and task State are ignored (if chosen).  Some folks seem to be copying active trees and want the copies to have the default initial states.  Probably should do this for PIs at some point.

@jmartin-rally, is this worth merging back into rally community you think?  I didn't even know this pr was here, I just stumbled on it while I happened to be trying to fix something else...


Unable to Connect burrow server using node js code

Please include in your bug report:

[ 0.17.1] burrow version (docker image tag or branch if built from source)
[0.18.0 ] monax version (if applicable)
[ 1.9.3] go version (if applicable)
[ 17.12.0-ce] docker version (if applicable)
[ linux- ubuntu 16.0.4] operating system details (osx/windows/linux)
[Want to connect burrow server using monax/legacy-db to access burrow chain functionality ] what you expected to happen
[ Burrow {
server: undefined,
_unsafe:
Unsafe {
server: undefined,
_validator: SinglePolicyValidator { _policy: true } },
_accounts:
Accounts {
server: undefined,
_unsafe: Unsafe { server: undefined, _validator: [SinglePolicyValidator] } },
_blockChain: BlockChain { server: undefined },
_consensus: Consensus { server: undefined },
_events:
Events {
_pollingInterval: 1000,
server: undefined,
sub: { [Function: HttpEventSub] super: [Function: EventSub] } },
_namereg:
NameReg {
server: undefined,
_unsafe: Unsafe { server: undefined, _validator: [SinglePolicyValidator] },
_events: Events { _pollingInterval: 1000, server: undefined, _sub: [Function] } },
_network: Network { server: undefined },
_transactions:
Transactions {
server: undefined,
_unsafe: Unsafe { server: undefined, _validator: [SinglePolicyValidator] } } }
Accounts {
server: undefined,
_unsafe:
Unsafe {
server: undefined,
_validator: SinglePolicyValidator { _policy: true } } }
Received request for details.
server started at <IP_ADDRESS>:8000
Burrow error:  Call of method "toJSON" with parameters 'server' responded with "Error: socket hang up".
(node:4743) UnhandledPromiseRejectionWarning: TypeError: Cannot destructure property reject of 'undefined' or 'null'.
at values.next.then (/home/gauravagarwal/.monax/apps/legacydb/node_modules/@nodeguy/json-rpc/lib/index.js:13:57)
at
(node:4743) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:4743) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
] what actually happened

screenshot of error-
https://user-images.githubusercontent.com/36070107/36086471-9c575f16-0ff2-11e8-867b-ffffab589a54.png
my code
var burrowFactory = require('@monax/legacy-db');
var burrow = burrowFactory.createInstance("http://<IP_ADDRESS>:1337/rpc");//got the ip use monax chains ip
console.log(burrow);
console.log(burrow.accounts());

I think it will be easier to provide some help on this on hyperledger chat, it looks like you might be running on a non-standard part


Add  rename_all attribute to #[pyclass]

Closes #3383

I'll try to update the rename_all attribute so that it accepts a case as argument and applies to struct fields as well, if there is interest in having this. Thanks for your feedback.

@adamreichold Ready for another review.

codecov is failing again... I think I added enough tests and it can be ignored right?

codecov is failing again... I think I added enough tests and it can be ignored right?

Yes, I think so too. The only reason I did not merge this yet is to give the other maintainers some time to chime in on this version of the code.


Multi-select lazy load

Relation multi-select box is very slow when data is big. How i can add a lazy load to multi-select box autocomplete?

This would need to be done in the core, we are open to pull requests for this.

If you add a feature to override concrete UI views (Dropdown etc.) like BREAD views, it would be awesome.

This feature would be awesome. It is actually necessary for big data.

Introduced in https://github.com/the-control-group/voyager/pull/3586


Caption not working

Hello , I try on Pinokio and manually install FLux Gym, but on in the both ways I have issues with Captionning
I try to change device put nothing working its still on "cpu"
I install Cuda twice time, that not fix the issue
I don't know why that said me the model of Florence is use by other program, so that's totally wrong !
Why that not complete download the model?
The download looks crashing a moment : That is the logs
C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\utils\generic.py:309: FutureWarning: torch.utils._pytree._register_pytree_nodeis deprecated. Please usetorch.utils._pytree.register_pytree_nodeinstead.   _torch_pytree._register_pytree_node( C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\utils\generic.py:309: FutureWarning:torch.utils._pytree._register_pytree_nodeis deprecated. Please usetorch.utils._pytree.register_pytree_nodeinstead.   _torch_pytree._register_pytree_node( C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\huggingface_hub\file_download.py:1150: FutureWarning:resume_downloadis deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, useforce_download=True`.
warnings.warn(
pytorch_model.bin:  31%|██████████████████▊                                         | 484M/1.54G [10:51<23:45, 743kB/s]
Traceback (most recent call last):
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\huggingface_hub\file_download.py", line 523, in http_get
hf_transfer.download(
Exception: Error while removing corrupted file: Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus. (os error 32)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\modeling_utils.py", line 3280, in from_pretrained
resolved_archive_file = cached_file(
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\utils\hub.py", line 389, in cached_file
resolved_file = hf_hub_download(
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\huggingface_hub\utils_deprecation.py", line 101, in inner_f
return f(*args, **kwargs)
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\huggingface_hub\utils_validators.py", line 114, in _inner_fn
return fn(*args, **kwargs)
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\huggingface_hub\file_download.py", line 1240, in hf_hub_download
return _hf_hub_download_to_cache_dir(
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\huggingface_hub\file_download.py", line 1389, in _hf_hub_download_to_cache_dir
_download_to_tmp_and_move(
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\huggingface_hub\file_download.py", line 1916, in _download_to_tmp_and_move
http_get(
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\huggingface_hub\file_download.py", line 534, in http_get
raise RuntimeError(
RuntimeError: An error occurred while downloading using hf_transfer. Consider disabling HF_HUB_ENABLE_HF_TRANSFER for better error handling.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\gradio\queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\gradio\route_utils.py", line 322, in call_process_api
output = await app.get_blocks().process_api(
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\gradio\blocks.py", line 1935, in process_api
result = await self.call_function(
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\gradio\blocks.py", line 1532, in call_function
prediction = await utils.async_iteration(iterator)
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\gradio\utils.py", line 671, in async_iteration
return await iterator.anext()
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\gradio\utils.py", line 664, in anext
return await anyio.to_thread.run_sync(
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio_backends_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio_backends_asyncio.py", line 859, in run
result = context.run(func, *args)
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\gradio\utils.py", line 647, in run_sync_iterator_async
return next(iterator)
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\gradio\utils.py", line 809, in gen_wrapper
response = next(iterator)
File "C:\Users\DartsgameKZ\Downloads\Ai\fluxgym\app.py", line 118, in run_captioning
model = AutoModelForCausalLM.from_pretrained(
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\models\auto\auto_factory.py", line 561, in from_pretrained
return model_class.from_pretrained(
File "C:\Users\DartsgameKZ\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\modeling_utils.py", line 3332, in from_pretrained
raise EnvironmentError(
OSError: Can't load the model for 'multimodalart/Florence-2-large-no-flash-attn'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'multimodalart/Florence-2-large-no-flash-attn' is the correct path to a directory containing a file named pytorch_model.bin, tf_model.h5, model.ckpt or flax_model.msgpack.
`

Facing the same issue, have you found a solution yet?

same here, i tried to label the images outside fluxgym to go straigh to the trainning, but the trainning also runs on CPU i have a 3060

after digging around i found out that the pytorch was installed without cuda support, not sure why....
to fix this the workaround i did was to force the installation of the right version of pytorch, i changed the file update.js to be something like this:
module.exports = {   run: [  {     method: "shell.run",     params: {       venv: "env",       message: [         "pip uninstall -y diffusers[torch] torch torchaudio torchvision",         "pip install --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl/cu121"               ]     }   }, {     method: "fs.link",     params: {       venv: "env"     }   }] }
After that i run the update and everything seems to be working fine.
PS: This is just a workaround, if you try to do it, dont forget to rollback the update.js to the original content, so you can update it later if needed.

after digging around i found out that the pytorch was installed without cuda support, not sure why.... to fix this the workaround i did was to force the installation of the right version of pytorch, i changed the file update.js to be something like this:
module.exports = { run: [ { method: "shell.run", params: { venv: "env", message: [ "pip uninstall -y diffusers[torch] torch torchaudio torchvision", "pip install --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl/cu121" ] } }, { method: "fs.link", params: { venv: "env" } }] }
After that i run the update and everything seems to be working fine.
PS: This is just a workaround, if you try to do it, dont forget to rollback the update.js to the original content, so you can update it later if needed.

Thank you for the feedback.  It seems like I got it working I updated update.js with my latest version of CUDA with just changing the following lines:
{
method: "shell.run",
params: {
venv: "env",
message: [
"pip uninstall -y diffusers[torch] torch torchaudio torchvision", "pip install --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl
/cu126"
]
}
then I ran node update.js.  I did do a pip install -r requirements.txt again but I had to reload my NVIDIA drivers.  I felt like it was more trial then error to get it working but this message is finally gone:
"UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero. (Triggered internally at ../c10/cuda/CUDAFunctions.cpp:108.)
return torch._C._cuda_getDeviceCount() > 0"

I downloaded the model manually and pasted it into the cache directory, then connected to high-speed internet and waited for it to complete.
Cache directory: Local: C:\Users%USERNAME%.cache\huggingface\hub\models--multimodalart--Florence-2-large-no-flash-attn\blobs Or in Pinokio, in the fluxgym folder and cache folder.

I downloaded the model manually and pasted it into the cache directory, then connected to high-speed internet and waited for it to complete.
Cache directory: Local: C:\Users%USERNAME%.cache\huggingface\hub\models--multimodalart--Florence-2-large-no-flash-attn\blobs Or in Pinokio, in the fluxgym folder and cache folder.

How did you do it?
I don't have such a path. I don't understand where to put the file so that it stops downloading again.

Anyone who has everything working, take a look where this file is located in the end? Or does it not work for anyone? Or in what file do I need to change something to DISABLE THIS ENDLESS LOADING?
pytorch_model.bin:  98%|█████████████████████████████████████████████████████████▊ | 1.51G/1.54G [10:55<02:43, 193kB/s]


A tag for project ideas

One of the most common questions in #python-general is what project one should do. This could be answered with a simple tag called !projects, just like !resources is used when people need help with getting started and !tools for questions about which IDE or editor they should use.
Just like other tags, this one could return a link to an article on the website with all relevant information.

Done in 5c6d19d.


Normalize GitHub repository name when generating the migration script

Fix #444

[x] Did you write/update appropriate tests
[ ] Release notes updated (if appropriate)
[ ] Appropriate logging output
[x] Issue linked
[x] Docs updated (or issue created)

I would also add a release note something like:

We should add a unit test for generate-script that has a team project with a space in it (or just modify the existing tests to cover that)

I pushed a commit to add a couple unit tests


Added Softbutton Guidelines

Updated the index to include information about the softbuttons standards.

Closing as duplicate of #38


Missing async in readme

Sorry, super picky, I guess, but I'm stumbling across this for the third
time. So I figured I could just as well fix it.

Thanks!


Fix | 2022.4 | Server, Enforcer | PodSecurityPolicies

Porting psp to enforcer chart (server doesn't actually need this)
Fixing PSP for server, adding "use" verb to cluster role (otherwise the component is not going to be able to use the PSP
thanks to @morgantatkins for helping with this

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


feat: feature can be set in targeting

part of https://github.com/bucketeer-io/bucketeer/issues/963

@cre8ivejp fixed 👍

@cre8ivejp fixed 👍

How about validating on the server?

We have validation on server side here
https://github.com/bucketeer-io/bucketeer/blob/25ed7ea2fde3efc247be24c67cdf3f39e295593b/pkg/feature/api/validation.go#L1163

We have validation on server side here
https://github.com/bucketeer-io/bucketeer/blob/25ed7ea2fde3efc247be24c67cdf3f39e295593b/pkg/feature/api/validation.go#L1162

I think the validation it's not working on the server because I could save the same 2 flags in the same rule.
Could you verify it, please?

@cre8ivejp Fixed 👍


updated glags. Necessary for kinetic.

Updated gflags to include gflags commit
https://github.com/ethz-asl/gflags_catkin/commit/8aa84ac014d512a5e71c8d9035e539716e2c8186
Necissary for compilation in kinetic.

Can one of the admins verify this patch?

@helenol @schneith

And yes im retarded enough to try kinetic.

add to whitelist

add to whitelist (as admin this time)

LGTM


Degree order discrepancies

Describe the bug
The degree entry Law/Arts and Arts/Law exists. This causes issues for the case where the degrees are the same, but are in different order. For example, in the case of Laura Lowe and Charlotte Allan.
To Reproduce
Steps to reproduce the behavior:

Go to Goldle
Enter 'Laura Lowe'
Enter 'Charlotte Allan'
See error

Expected behavior
Both degrees should be 'Law/Arts' as that is the preferred order.
Similar issues could exist, hence go through data and correct if they exist.
Screenshots

Additional context
Unless specifically specified, the order of degrees should be alphabetical.
"Law/Arts" is a special case cause Law is the centre of the degree.

This issue is closed with PR #81.


Support login with verification code

Can we support login with verification code?
Now Duochrome is throwing below exception
400 - Bad Request
{"code":40014,"message":"Please enter the verification code to respond to this login.","stat":"FAIL"}"
The workflow is like this:
Duo login page will pop out a four digits verification code.
Enter these four digits in the Duochrome and press login.

Sorry I'm a bit confused. Is this a feature request, or is the new update breaking the functionality of older versions and is throwing that error?
Are you referring to functionality like this? I would be down to add this feature but I don't have a way to test this workflow and put it into the extension. I'm a student and my organization uses push requests, not codes to approve logins so I can't study the HTTP traffic.

That would be great.

@ldzhjn I used Android Studio to setup an emulator and use HTTP Toolkit to sniff the packets. When the activation packet gets sent through, it attaches a "jailbroken: true" property to the request. You can use HTTP Toolkit to intercept this traffic, change it to false, and send it. But before you do any of that, there's the issue of SSL pinning. I used a Frida SSL unpinning script to view the HTTPS traffic.
This is a lot of work. Is there a way I can get an account for your organization and I can try reading the traffic instead?

Strange. Try different Frida scripts online? There should be a lot of SSL unpinning ones available.

For anyone else wanting this feature, I'll need either the OP or someone else to provide HTTP request logs that show the entire flow from transactions to sending the verification code to Duo


Xcode 6.3 bate new Swift support

rt

Working on swift_12 branch.

Now that Xcode 6.3 is live, will you be merging these changes in?

Yes?

Looking forward to 1.2 support :+1: – keep up the good work!

I will release in Today. I'm working final check.

Ah, sorry I've not seen your swift_12 branch but nevertheless, instead of casting the constants as String you could also just modify the returntype to NSString, check out my PR: https://github.com/kishikawakatsumi/KeychainAccess/pull/56

I'm using the swift_12 branch with Carthage in Xcode 6.3 but am still getting build failures when Carthage tries to build it. It appears the build failures are only on the Mac target. Is there a way to specify just the iOS target in the cartfile?

I shipped version 1.2.0! Compatible with Xcode 6.3 and Swift 1.2!! :tada:


Documentation is not clear enough for not advanced users

Even when the command and parameters name used are correct, the context given to the reader is poor, specially in the deployment section. You should explain first to the reader what are you going to do before start shooting commands. Also there are some instructions that are not clear such as:
"Select all the files and zip them up while in that folder, then run the command while still in that folder." What command?
The hierarchy of this section is not well structured. The title: Retrieve or create necessary IIS/Kudu files appears to be inside: Deploy via ARM template (with existing Resource Group). This confuses a lot, because it belong more to the part of deploying the code of the bot to an already prepared resource group.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9d5bd35d-3178-42cd-2893-3b6a4b7a94ce
Version Independent ID: 1545fd44-d471-d947-f94d-4b5e8d6e853f
Content: Tutorial to create and deploy a basic bot - Bot Service
Content Source: articles/v4sdk/bot-builder-tutorial-basic-deploy.md
Service: bot-service
GitHub Login: @ivorb
Microsoft Alias: kamrani

Hi - thanks for your feedback.
To answer your questions:

Some explanation to commands.
We were wondering if you could tell us which specific commands you want us to explain?

Command to execute when “Select all the files and zip them up while in that folder, then run the command while still in that folder."

The command refers to the Deploy code to Azure command mentioned in the next section. After you zip up the file, you execute the command as follows:
az webapp deployment source config-zip --resource-group "<new-group-name>" --name "<name-of-web-app>" --src "code.zip"

Hierarchy of this section (IIS/Kudu files appears to be inside: Deploy via ARM template).
I think the IIS/Kudu files and Deploy via ARM template should be on the same level in Hierarchy and the confusion you had comes from the different font size. We will update the font size soon.

Thanks again for your feedback. We really appreciate it.
Please let us know if it helps.

Hi -
We also see your pr #1319 associated with this issue in MicrosoftDocs/bot-docs. We are currently looking into it and will get back to you soon.
Thanks again for your feedback. We really appreciate it.
Best,
Yan

Hi -
We are closing this issue due to duplication of #1319.
We are currently working on your suggestions, please see #1659.
Thanks again for feedback. We really appreciate it.
Best,
Yan


BUG 2259668: core: Continue processing PVs for network fencing when no node IPs found

The cephfs PVC might exist on the kubernetes node object but due to some timing issues the ip might not be visible on the ceph cluster or the client might have already been evicted or disconnected from the ceph cluster. In this case, we will not be able to get IP details for the subvolume and we don't have any check for empty ip's in the code rook tries to create NetworkFence CR with an empty Ip's, and the NetworkFence will get moved to the Failed state. This PR adds the necessary checks and logging to prevent this one.
Backport of https://github.com/rook/rook/pull/13768

/approve
/lgtm


Add pipeline dsl recursion doc

This change is

/cc @hongye-sun

/cc @Ark-kun

/cc @sarahmaddox

/assign

Preview: https://deploy-preview-565--competent-brattain-de2d6d.netlify.com/docs/pipelines/sdk/dsl-recursion/

Thanks for your comments @sarahmaddox
Learnt a lot.

Thanks!
/lgtm
/approve


19854 cluster backup namespace

One of the criteria of the backup user story is to deprecate the EnabledClusterBackup field and that seems to be missing here.

So, this is what I was discussing this morning and the need to do multiple PR's. If we deprecate the field on this one, without having merged the changes from cluster backup, we will have build failure. My understanding was that's why we have it in 2 separate user stories. They should be able to go in relatively quickly following each other but I still think they need to be separate

@cameronmwall  By deprecating the field, we just need to label it as deprecated. This should be similar to how we are deprecating other fields
We should not actually remove the field for another 4 releases.


left align definition in terms and reports - P2

in a report...
see below  these buttons (list buttons?) seem to not fit the style because the respective text is center aligned.  the buttons seem out on their own.

An idea we can try is tinyMCE editor has an alignment tool. We can have the description field be 'normal' alignment and then just edit the text itself for the alignmemt


Add  new tests

I included two tests, one for the dererencing that you asked for earlier. And one for an edgecase I can't manage to solve for my self.

interesting, is that even allowed?

looks fun, maybe if you make the items Optional, but I haven't looked into it very long

interesting, is that even allowed?

Yes, it is meant for when the type you want to check is Any aka always passes validation.

I found a semi solution
#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq)]
pub struct Empty {}

#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
#[serde(tag = "type", rename_all = "camelCase")]
pub enum PropertyInstance {
    Null,

    Boolean,

    Integer {
        #[serde(flatten)]
        criteria: NumberCriteria,
    },
    Object {
        properties: HashMap<String, Property>,
        required: Option<Vec<String>>,
    },

    Array {
        items: Box<PropertyInstance>,
    },

    Number {
        #[serde(flatten)]
        criteria: NumberCriteria,
    },

    String,

    #[serde(untagged)]
    Empty(Empty),
}

But it has some problems, like if invalid data is contained in what would be an PropertyInstance it will get parsed as Empty (like { "type": "buleans" })

Or we can use also #[serde(other)]

cool stuff


Increasing the number of epoch

Hi, will increasing the number of epochs improve the quality of the motion capture?
If so, how do I change the number of epochs

We haven't tried that, so we don't have a good intuition. It's possible that the model could improve if you train for longer.

Hello, do you know how to train longer now? I have the same question: I make some little change to HMR2.0 model and trained it, the training usually stopped in 39 epochs(3-4days), and when i train the HMR2.0 code, it also stopped at 35 epochs(3 days) and they all stopped with loss_step=100,0000), the loss is still decreasing, so I want to ask where should i change in the code to train longer time? Thank you !!


Retry partial failures

Hi,
Some AWS APIs can complete with partial success. For example, when calling a PutRecords request with 500 entries, it is possible for some of the records to successfully get put and some fail.
PutRecordsRequest request = new PutRecordsRequest();
// add 500 entries to the request
PutRecordsResult response = producer.putRecords(request);
// response.getFailedRecordCount() could be between 0 and 500
// For example, the first 300 records might get inserts and the last 200 fail due to exceeding throughput

In such cases:

the client should wait a bit,
retrieve the index of failed records from response and fetch those failed records to build a new request
re-call producer.putRecords with the new request

So every invocation needs access to the result of the previous execution (or null for the first execution).
Is this possible to do with failsafe? From what I can see invocations do not have access to results of previous attempts.

Hi @behrangsa,
This is an interesting use case. Short answer is, not possible right now.
Right now, execution methods such as run, get and future can receive an ExecutionContext instance that provides info about previous executions, but it does not currently include the lastFailure. I'm open to adding this, I just haven't had a use case for it so far.
Would something like that work?

Hi @jhalterman,
Adding lastFailure to the ExecutionContext would be great. In the meantime I have to reread the docs and see if I can implement a workaround using onFailedAttempt. :)
Cheers!

Interesting use case, but I wouldn't push this state down into Failsafe. Keeping track of things like this is best done by the application itself.

I'd be interested to know if anyone has ideas for how Failsafe could help with this use case. What might an example Failsafe usage with a hypothetical API look like?

It is generic enough so I guess it will allow us implement retry logic for many additional scenarios -- it at least is enough for the AWS API example.

One way how this could be generalized is to look at it like a reduce or left fold. Basically each iteration will feed in left over to the next one and so forth. Reducing the list of open tasks down to zero.
From an API perspective what would be nice is to offer the ability to provide a similar interface like Stream.reduce so that applications can express their partial retries without binding themselves to failsafe to strongly.
// returns an empty list in this case
failsafe.get(putRecordsRequestEntries, this::putRecords);

From an API perspective what would be nice is to offer the ability to provide a similar interface like Stream.reduce

Interesting idea. Can you share an example of what that would look like being used vs doing something similar without that kind of API?

Now that I'm looking at your example using the current API it's actually not that bad. With Java 11 and commons-lang/guava you might be able to shorten it a bit:
RetryPolicy<List<String>> retryPolicy = new RetryPolicy<List<String>>()
       .handleResultIf(not(List::isEmpty));

List<String> unsuccessfulRequestEntries = Failsafe.with(retryPolicy).get(context ->
    return putRecords(firstNonNull(context.getLastResult(), original);
);

Looks reasonably easy to me, to be honest.

With the addition of ExecutionContext.getLastResult and getLastFailure I'm going to consider this closed. Feel free to comment and/or reopen if you feel those are inadequate for your use case.


add loki data source and ray system dashboard to grafana

Summary
Closes #282
Details and comments
This PR adds the loki data source configuration to Grafara.  It also add preconfigured ray system dashboard.

Ray dashboard looks good!

I did notice that one of the loki logs containers is crashing with an error about "too many open files" making it "unable to create the logs instance"... not exactly sure why that's happening.
Full error message for reference: ts=2023-03-20T18:37:43.520451861Z caller=main.go:57 level=error msg="error creating the agent server entrypoint" err="unable to apply config for ray/quantum-serverless-loki: unable to create logs instance: failed to make file target manager: too many open files"

@psschwei Thanks for reviewing.  There are some issues with a dashboard with multiple log panels.  I probably create a  dashboard for each log panel while I investigate the solution.

@psschwei  I'll do that.  Thanks!


How far gone?

I was stoked to find this tool after suffering painfully trying to book (and failing to book) a campsite on the washington.goingtocamp web shite.
On another sad note, I think they may have changed their data structures, causing this awesome gocamp python tool to be in need of some overhaul.
I spent some time trying to fix a few small items.  For example: results['resourcesOnMap'] now seems to be results['map']['mapResources']
Then as I went further I realized I can't even seem to find allowedEquipment in the results...
Wondering if the original contributor(s) have any insight into how salvageable this is.  Happy to contribute myself but might benefit from the author's wisdom/insights.

Hi @N4TRB0Y !
This project has been latent for the last year, but I finally stepped back into it just this week to discover, much to my horror, that goingtocamp has changed enough to make this project incompatible. Unfortunately, since this is all unofficially reverse-engineered from their web API, it'll take some time for me to go though the browser calls and revise (assuming it is even possible).
No immediate timeline, I'm afraid... but since they've "updated" the website to make it even LESS usable than last year (I didn't think it was possible!), there's certainly impetus for me to scope this out.
I'll let you know here if I'm able to find time to make any progress. Meanwhile, I absolutely welcome contributions if you or a colleague have time to send a PR along!

Unfortunately no, it's part of a project with some private family stuff in it. But basically I store the campgrounds, dates, etc in a database, then the code loops through each one and checks the appropriate reservation system.
I made a gist with the chunk of code that was making the request for goingtocamp campgrounds and parsing the response. It's some quick and dirty PHP I made last summer with plans to clean up over the winter which I never got around to. Anyway, this is what was working as of Friday: https://gist.github.com/thomasruns/aa79f32b7898f9f8055cd2be853d9fbc

I have no idea how long it will last, but their web api is open again so my tracker is working instead of returning 403 responses.

It looks like mapLinkLocalizedValues has been removed from MAPDATA results in list_camp_areas() :(
for map_id, info in results['mapLinkLocalizedValues'].items():
KeyError: 'mapLinkLocalizedValues'

Sadly, yes. I haven’t been able to find a replacement source for that data.

Is it others' observations that in addition to this being outdated, that the service has been changed to prevent automated access. I'm running into captcha when just trying to load the page via Selenium/Puppeteer

They definitely changed some things over the last year, but I have been able to automate it again. My code on camperalerts.com has been scanning for several days now without any errors. I don't mind sharing what I changed to get it working, but I don't want to post it publicly here where someone could use that information to break my code :) Shoot me a message at gmail (same username) and we can chat.

That's awesome, @thomasruns! Will do.
If you think the API portions could be broken out as a separate module from the rest of your site, I'd love to see that portion go public... unless you're specifically worried about the goingtocamp folks re-obfuscating the API based on what they see you using? In which case... actually, posting publicly might still be the best course. There's more of us OSS devs than there are of them :-o

FYI @thomasruns @N4TRB0Y @Justin31415 Thanks to @peckjon providing a nice reference point with gocamp, I've begun to recreate its functionality in camply.
Feel free to track the issue with my draft PR attached: https://github.com/juftin/camply/issues/94 and snag any of the code. It's in very rough shape at the moment. More of a proof of concept, but you can snag some of my code and port it back to gocamp if you like.


✔Added Diagonal-Hovering Effect to Each Card!

Hey @sk66641 @aditya-bhaumik
issue closes #536

I have added the Diagonal Effect on Hovering on each contributors card

Also Added Transitional Text Shadows to the Contributors-name and Github-Contributions info

Added "Img Border" On hover to make focus on it.

Followed the website theme for it.

It Works in both Dark and Light Mode Very Well !

Earlier the texts on the card were not visible properly.

I also made the Page "Responsive" for all screen sizes.

BEFORE

**AFTER: **
Please take a look -
https://github.com/user-attachments/assets/0ac9019b-4811-4d71-93aa-f88e06d2dd1b

Type of change

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

@aditya-bhaumik can you increase the level ? for the responsiveness work ? ( if possible )
thankyou!

@aslams2020 done


Prevent fake player crossbow shooting

Fix server crash when fake player attempts to shoot crossbow

How is this happening at all? Why is on_used called by a mod's fake player at all?

How is this happening at all? Why is that mod attempting to call on_used using a fake player? This is likely to cause bugs in various places, not limited to this mod.

Pipeworks node breaker for example but I know there's other things allowing similar thing.

With some more code it would probably also be possible to make this feature and actually allow fake player to shoot but pipeworks node breaker cannot do that because it does not have inventory for arrows, some other fake player implementation might but I've not tried those myself. I think probably not worth it.

I guess this on_use call in pipeworks was implemented to handle the technic drill and laser tools. That's quite unfortunate, but I cannot figure out any simpler solution at the moment. Will merge this PR in a few days unless there are objections.


Add possibility to limit the number of people to follow, default 100

Users can now add a limit for the number of people they want to follow.

+1 after the followLimit issue has been resolved

Fixed comments, merging now.


Creation of #internal tags on story/post level doesn't set them as #internal

Issue Summary
In the past i had setup an #internal tag and it was excluded from the site no problem due to the visibility="public" by default. I recently added 2 more #internal tags to a few posts using the # to indicate that they were internal. They were set and the same format was defined like the one i did in the first place. But what happens when you go to /ghost/#/settings/tags, the extra blue label next to the tag name doesn't show up here like it does for the one created previously. Plus this tag now shows on the post level page like all other public tags.
My guess at what is going on here is that, you can't create #internal tags from the post/story page and have the system recognize them as #internal. Maybe this is by design, but the system allows you to try to...
I was able to modify the tag urls on the edit tags section by removing the "hash-" part and making it "#". This then created a new tag with a "-2" at the end of it. I proceeded to remove the "-2" part and save it, which then finally applied the blue #internal label, and then hiding it from the site like the other #internal tag.
I think that there is a bug in the process on a story edit page where #internal tags are not being set as #internal.
Steps to Reproduce

Edit a Story/Post.
Set a new tag with the internal "#" on it, click add new tag to make sure this gets set.
Save the post
Got to /ghost/#/settings/tags to see that the tag was created
4.1. But you can see that it doesn't have the internal blue label next to them.
You can edit the tag as described above to remove/add the # again and save, which converts this tag to an internal tag.

I would check the service that is used to create and define tags and internal tags on the edit post page.
Other tricky thing was that this was not happening on my local build in dev mode, and only showed up on our production box. Not sure why as it is usually 1 for 1 with these types of things.
Technical details:

Ghost Version: 1.7 (prod), 1.8.1 (local for testing)
Browser/OS: Mac Safari

Duplicate of #8943
Thanks for the report @erikstern-r7 - if you read the related issue, you'll find it was fixed recently, but the issue is still open pending one extra change.


Fix issues in tutorial of multinomial logistic regression

This PR fixes https://github.com/TuringLang/Turing.jl/issues/1409 and some additional issues such as leaking information from the test data set (the rescaling was performed using mean and standard deviation of the whole data set) and duplicate corner plots (the second one was just a duplicate of the first one). Moreover, the model and the prediction is simplified.

Thanks for the fix, looks good!

If you push the rebuilt markdown files, you can manually retrigger a build of the docs in Turing to update the webpage.

Will do.


Won't let me click sweep when I type in the correct private key

Trying to sweep some BCC but it won't let me

usually greyed out buttons are invalid data or extra spaces

fyookball não ajuda em nada com essas respostas


Refactor mlflow configs

As you know, the communication flow between the kedro app and mlflow can be represented as follows

In a ddition of what we already have in mlflow.yml, we can add some configuration entries for users in order to let them configure their connection to mlflow tracking and the artifact store (the red flows in the figure). these inputs may be different depending on the user's installation.
In this example we suppose that user have an mlflow tracking server with a Basic authentication and an artifact store on S3.
mlflow.hml
mlflow_access:

  mlflow_tracking: # Put here your non-sensitive environment variables relating to your mlflow tracking server connection. See the list here
  https://www.mlflow.org/docs/latest/tracking.html#logging-to-a-tracking-server

    MLFLOW_TRACKING_URI: https://yourtrackingserver

  mlflow_artifact_store: # Put here your non sensitive environment variables relating to your artifact store connection . See the list here according to
  your setup https://www.mlflow.org/docs/latest/tracking.html#artifact-store

    MLFLOW_S3_ENDPOINT_URL: https://yours3endpoint
    MLFLOW_S3_UPLOAD_EXTRA_ARGS: {}

mlflow_params:

  experiment:
    name: kedro_mlflow
    create: True

  run:
    id: null # if `id` is None, a new run will be created
    name: null # if `name` is None, pipeline name will be used for the run name
    nested: True

  ui:
    port: null  # the port to use for the ui.  See the list here https://www.mlflow.org/docs/latest/tracking.html#logging-to-a-tracking-server

    MLFLOW_TRACKING_USERNAME: user
    MLFLOW_TRACKING_PASSWORD: pass

  mlflow_artifact_store: # Put here your sensitive environment variables relating to your artifact store connection. See the list here according to your setup https://www.mlflow.org/docs/latest/tracking.html#artifact-stores

    AWS_ACCESS_KEY_ID: xxxxxxx
    AWS_SECRET_ACCESS_KEY: xxxxx

That way we leverage the multi environment configs mechanisms that kedro offer, and at the same time, we are making progress in making the use of mlflow easier and more fluid for our users.
kedro-mlflow hooks can easily access to those configs and export them as environ.
Fix #31 and #15
Let me know what you think

Yes, I totally consider doing this. However credentials management can alsobe done at DataSet levels. We had uses cases when we wanted, inside a run (in a mlflow development database), to retrieve a model / an artifact from a different mlflow instance (a production one), for instance to combine/ compare two models. For this, we need to enable credentials management at DataSet level, something like:
# credentials.yml

kedro_mlflow:
    <your idea here>

mlflow_creds1:
    AWS_ACCESS_KEY_ID: ...
```

```yml
# catalog.yml

dataset_to_retrieve:
    type: MlflowArtifactDataSet
    load_args:
        run_id: 123456798
        credentials:  my_mlflow_creds1
    data_set:
         type: pandas.CSVDataSet
        load_args:
           sep: ";"

```

This needs to be thoroughly designed before we freeze the way to perform such an operation.

We are in front of two use cases of mlflow :
1 - mlflow as a tracking engine
In this use case mlflow.yml configurate the engine behavior and point to a potentiel credentials entries. Here is an enhanced example
mlflow_config:

  mlflow_tracking: # Put here your non-sensitive environment variables relating to your mlflow tracking server connection. See the list here
  https://www.mlflow.org/docs/latest/tracking.html#logging-to-a-tracking-server

    MLFLOW_TRACKING_URI: https://yourtrackingserver

  mlflow_artifact_store: # Put here your non sensitive environment variables relating to your artifact store connection . See the list here according to
  your setup https://www.mlflow.org/docs/latest/tracking.html#artifact-store

    MLFLOW_S3_ENDPOINT_URL: https://yours3endpoint
    MLFLOW_S3_UPLOAD_EXTRA_ARGS: {}

  experiment:
      name: your_experiment_name
      create: True

  run:
    id: null # if `id` is None, a new run will be created
    name: null # if `name` is None, pipeline name will be used for the run name
    nested: True

  credentials: credential_entry   # point to an entry in your conf/<env>/credentials.yml

hook_config:

  pipeline:
    tracking_pipelines: [data_engineering, data_science, __default__] # If no pipeline given, kedro_mlflow will track all your pipelines.

  node:
    flatten_dict_params: True  # if True, parameter which are dictionary will be splitted in multiple parameters when logged in mlflow, one for each key.
    recursive: True  # Should the dictionary flattening be applied recursively (i.e for nested dictionaries)? Not use if `flatten_dict_params` is False.
    sep: "-"

2 - Mlflow as a Database
Here we just leverage catalog and DataSets kedro mechanisms. In a regular catalog.yml we can have (what you suggested)
# catalog.yml

dataset_to_retrieve:
    type: MlflowArtifactDataSet
    load_args:
        run_id: 123456798
        credentials:  my_mlflow_creds1
    data_set:
         type: pandas.CSVDataSet
        load_args:
           sep: ";"

We just have to avoid starting an mlflow run when using it as a database.
So from configuration perspective, your use case is natively possible with kedro. All the questions are redirected to MlflowArtifactDataSet implementation itself.
In both cases credentials management is done at context level, we just leverage kedro credentials management mechanisms.

I have refactored the KedroMlflowConfig to use pydantic instead of dicts to store the different options. The advantages are:

increase validation on the provided keys with informative error message
make maintenance easier by removing a lot of extra validation code
autocomplete for easier development

Regarding the refactoring, i'd prefer explicit reference to mlflow objects for better comprehension, something like:
server:
    mlflow_tracking_uri: xxx
    mlflow_model_registry: xxx
    mlflow_artifact_store: xxx
    credentials: xxx

entities:
    experiment:
        name: your_experiment_name
        create: True
    run:
        id: null # if `id` is None, a new run will be created
        name: null # if `name` is None, pipeline name will be used for the run name
        nested: True

tracking:
    params:
        dict_params: # extra level not needed, but it will simplify refactoring in the future?
            flatten:True
            recursive: True
            sep: "-"
    metrics: # maybe one day, for some autologging?
    tags: # maybe one day if we find a convenient API?
    models: # maybe one day for autlogging?

After all, it does not make sense to make a reference to hooks since users are not aware of what they do. The "functional" part is always related to mlflow, not to Kedro.


Fixed ctrl-click and job count

Changed the parenthetical job counts on the front pages to represent the filtered list.
ctrl-click had been opening a new tab AND redirecting the current page. Removed code that is no longer needed for selection.

LGTM


[>= 5.4.2] Uncaught ReferenceError: global is not defined

Hi team,
When I update powerbi-visuals-tools to either 5.4.2 or 5.4.3, I get the following error in my console when I reload the visual:

Following the error links to visual-sandbox > webpack:// > node_modules > randombytes > browser.js in the package, with this error on line 16:

Downgrading to 5.4.1 clears the issue, so looks like this might be a recent introduction.

Hi @dm-p,
It's now forbidden to use "global" reference, so I would recommend to get rid of it.

@dm-p, not sure if you resolved this yourself but in my case, the issue was I had an "import 'intl'" that was both unnecessary and also caused the same problem you noted. I removed that and was able to successfully move tools to 5.5.1.


COLIBRI sqlite implementation part 3

[x] Update / Delete segment Rsv. functions.
[x] E2E functions.
[x] UTs.
[x] Consider simplifying interface (just one "PreserveRsv" function).
[ ] Document DB structure in doc/ColibriService.md.
[x] Rebase after #3787 (first proper commit is 20e5ebda "DeleteExpiredIndices" )
[x] Reduce # of TODO(juagargi) after rebasing.

Configuration is left for another PR.

This change is

/rebase


WidgetsBinding.instance.addPostFrameCallback

The following assertion was thrown during performLayout():
'package:flutter/src/rendering/viewport.dart': Failed assertion: line 1868 pos 12:
'correctedOffset.isFinite': is not true.

Either the assertion indicates an error in the framework itself, or we should provide substantially
more information in this error message to help you determine and fix the underlying cause.


How to upload large amount data using Alamofire.upload

func uploadFile( request sourceRequest: NSMutableURLRequest){
        sourceRequest.httpMethod="POST"
        let boundary = "FileUploader-boundary-\(arc4random())-\(arc4random())"
        sourceRequest.setValue( "multipart/form-data;boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
        let data = NSMutableData()

        for (name, value) in headers {
            sourceRequest.setValue(value, forHTTPHeaderField: name)
        }

        // Amazon S3 (probably others) wont take parameters after files, so we put them first
        for (key, value) in parameters {
            data.append("\r\n--\(boundary)\r\n".data(using: String.Encoding.utf8)!)
            data.append("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n\(value)".data(using: String.Encoding.utf8)!)
        }

        for fileUploadInfo in files {
            data.append( "\r\n--\(boundary)\r\n".data(using: String.Encoding.utf8)! )
            data.append( "Content-Disposition: form-data; name=\"\(fileUploadInfo.name)\"; filename=\"\(fileUploadInfo.fileName)\"\r\n".data(using: String.Encoding.utf8)!)
            data.append( "Content-Type: \(fileUploadInfo.mimeType)\r\n\r\n".data(using: String.Encoding.utf8)!)
            if fileUploadInfo.data != nil {
                data.append( fileUploadInfo.data! as Data )
            }
            else if fileUploadInfo.url != nil, let fileData = NSData(contentsOf: fileUploadInfo.url! as URL) {
                data.append( fileData as Data )
            }
            else { // ToDo: report error
                print("error")
            }
        }
        data.append("\r\n--\(boundary)--\r\n".data(using: String.Encoding.utf8)!)
        sourceRequest.httpBody=data as Data
        Alamofire.upload(data as Data, with: request as URLRequest).responseString{
            response in
          if response.result.error == nil {
                print(response)
            }else{
                print(response.result.error!)
            }
        }
    }

I am uploading using this code, but if images count >3 it does not working

Any particular reason you aren't using the MultipartFormData support built into Alamofire already? That would certainly make this much easier for you. As for your image count issue, I have no idea. There's nothing that Apple is going to do with the above request to make it "not work". The only thing it "might" do is kill your app because you are using too much memory, although that does not sound like the case here.
You'll need to debug with your platform to see why sending 2 images works and 3 doesn't. There's no kind of limit specifically in Alamofire to stop you from doing this.
Best of luck! 🍻


[Bug] Cannot build docker image to linux/arm/v7 (raspberry pi)

To Reproduce

turn on experimental cli of docker

docker buildx build --platform linux/arm/v7 --build-arg CLIENT_ID=[your-id] -t takenote:latest

Expected behavior
Build a docker image that supports raspberry pi (arm/v7)
Actual behavior
node-sass seems to fail:
Output
264.4 Downloading binary from https://github.com/sass/node-sass/releases/download/v4.14.1/linux-arm-72_binding.node
#9 265.1 Cannot download "https://github.com/sass/node-sass/releases/download/v4.14.1/linux-arm-72_binding.node":
#9 265.1
#9 265.1 HTTP error 404 Not Found
#9 265.1
#9 265.1 Hint: If github.com is not accessible in your location
#9 265.1       try setting a proxy via HTTP_PROXY, e.g.
#9 265.1
#9 265.1       export HTTP_PROXY=http://example.com:1234
#9 265.1
#9 265.1 or configure npm proxy via
#9 265.1
#9 265.1       npm config set proxy http://example.com:8080
#9 266.7 Building: /usr/local/bin/node /app/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
#9 268.4 gyp info it worked if it ends with ok
#9 268.4 gyp verb cli [
#9 268.4 gyp verb cli   '/usr/local/bin/node',
#9 268.4 gyp verb cli   '/app/node_modules/node-gyp/bin/node-gyp.js',
#9 268.4 gyp verb cli   'rebuild',
#9 268.4 gyp verb cli   '--verbose',
#9 268.4 gyp verb cli   '--libsass_ext=',
#9 268.4 gyp verb cli   '--libsass_cflags=',
#9 268.4 gyp verb cli   '--libsass_ldflags=',
#9 268.4 gyp verb cli   '--libsass_library='
#9 268.4 gyp verb cli ]
#9 268.4 gyp info using<EMAIL_ADDRESS>#9 268.4 gyp info using<EMAIL_ADDRESS>| linux | arm
#9 268.4 gyp verb command rebuild []
#9 268.4 gyp verb command clean []
#9 268.5 gyp verb clean removing "build" directory
#9 268.6 gyp verb command configure []
#9 268.7 gyp verb check python checking for Python executable "python2" in the PATH
#9 268.7 gyp verb `which` failed Error: not found: python2
#9 268.7 gyp verb `which` failed     at getNotFoundError (/app/node_modules/node-gyp/node_modules/which/which.js:13:12)
#9 268.7 gyp verb `which` failed     at F (/app/node_modules/node-gyp/node_modules/which/which.js:68:19)
#9 268.7 gyp verb `which` failed     at E (/app/node_modules/node-gyp/node_modules/which/which.js:80:29)
#9 268.7 gyp verb `which` failed     at /app/node_modules/node-gyp/node_modules/which/which.js:89:16
#9 268.7 gyp verb `which` failed     at /app/node_modules/isexe/index.js:42:5
#9 268.7 gyp verb `which` failed     at /app/node_modules/isexe/mode.js:8:5
#9 268.7 gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:168:21)
#9 268.7 gyp verb `which` failed  python2 Error: not found: python2
#9 268.7 gyp verb `which` failed     at getNotFoundError (/app/node_modules/node-gyp/node_modules/which/which.js:13:12)
#9 268.7 gyp verb `which` failed     at F (/app/node_modules/node-gyp/node_modules/which/which.js:68:19)
#9 268.7 gyp verb `which` failed     at E (/app/node_modules/node-gyp/node_modules/which/which.js:80:29)
#9 268.7 gyp verb `which` failed     at /app/node_modules/node-gyp/node_modules/which/which.js:89:16
#9 268.7 gyp verb `which` failed     at /app/node_modules/isexe/index.js:42:5
#9 268.7 gyp verb `which` failed     at /app/node_modules/isexe/mode.js:8:5
#9 268.7 gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:168:21) {
#9 268.7 gyp verb `which` failed   code: 'ENOENT'
#9 268.7 gyp verb `which` failed }
#9 268.7 gyp verb check python checking for Python executable "python" in the PATH
#9 268.7 gyp verb `which` failed Error: not found: python
#9 268.7 gyp verb `which` failed     at getNotFoundError (/app/node_modules/node-gyp/node_modules/which/which.js:13:12)
#9 268.7 gyp verb `which` failed     at F (/app/node_modules/node-gyp/node_modules/which/which.js:68:19)
#9 268.7 gyp verb `which` failed     at E (/app/node_modules/node-gyp/node_modules/which/which.js:80:29)
#9 268.7 gyp verb `which` failed     at /app/node_modules/node-gyp/node_modules/which/which.js:89:16
#9 268.7 gyp verb `which` failed     at /app/node_modules/isexe/index.js:42:5
#9 268.7 gyp verb `which` failed     at /app/node_modules/isexe/mode.js:8:5
#9 268.7 gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:168:21)
#9 268.7 gyp verb `which` failed  python Error: not found: python
#9 268.7 gyp verb `which` failed     at getNotFoundError (/app/node_modules/node-gyp/node_modules/which/which.js:13:12)
#9 268.7 gyp verb `which` failed     at F (/app/node_modules/node-gyp/node_modules/which/which.js:68:19)
#9 268.7 gyp verb `which` failed     at E (/app/node_modules/node-gyp/node_modules/which/which.js:80:29)
#9 268.7 gyp verb `which` failed     at /app/node_modules/node-gyp/node_modules/which/which.js:89:16
#9 268.7 gyp verb `which` failed     at /app/node_modules/isexe/index.js:42:5
#9 268.7 gyp verb `which` failed     at /app/node_modules/isexe/mode.js:8:5
#9 268.7 gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:168:21) {
#9 268.7 gyp verb `which` failed   code: 'ENOENT'
#9 268.7 gyp verb `which` failed }
#9 268.8 gyp ERR! configure error
#9 268.8 gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
#9 268.8 gyp ERR! stack     at PythonFinder.failNoPython (/app/node_modules/node-gyp/lib/configure.js:484:19)
#9 268.8 gyp ERR! stack     at PythonFinder.<anonymous> (/app/node_modules/node-gyp/lib/configure.js:406:16)
#9 268.8 gyp ERR! stack     at F (/app/node_modules/node-gyp/node_modules/which/which.js:68:16)
#9 268.8 gyp ERR! stack     at E (/app/node_modules/node-gyp/node_modules/which/which.js:80:29)
#9 268.8 gyp ERR! stack     at /app/node_modules/node-gyp/node_modules/which/which.js:89:16
#9 268.8 gyp ERR! stack     at /app/node_modules/isexe/index.js:42:5
#9 268.8 gyp ERR! stack     at /app/node_modules/isexe/mode.js:8:5
#9 268.8 gyp ERR! stack     at FSReqCallback.oncomplete (fs.js:168:21)
#9 268.8 gyp ERR! System Linux 5.4.39-linuxkit
#9 268.8 gyp ERR! command "/usr/local/bin/node" "/app/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
#9 268.8 gyp ERR! cwd /app/node_modules/node-sass
#9 268.8 gyp ERR! node -v v12.20.0
#9 268.8 gyp ERR! node-gyp -v v3.8.0
#9 268.8 gyp ERR! not ok
#9 268.8 Build failed with error code: 1

This seems like an issue with node-sass and that environment, not TakeNote...

@taniarascia right. testing with dart-sass. Just saying many people may want to build on arm (raspberry pi and now apple making the push). It could beneficial to use dependencies that are compatible between hardware

Got it. Did you have any luck with dart-sass?

many more
output
```bash
#9 2.428 Unknown QEMU_IFLA_INFO_KIND ipip
#9 2.429 Unknown QEMU_IFLA_INFO_KIND ip6tnl
#9 399.5 husky > Setting up git hooks
#9 399.6 Cannot read property 'toString' of null
#9 399.6 husky > Failed to install
#9 412.5   ⚠ spawn /app/node_modules/cwebp-bin/vendor/cwebp ENOENT
#9 412.5   ⚠ cwebp pre-build test failed
#9 412.5   ℹ compiling from source
#9 1151.   ✔ cwebp built successfully
#9 1155.   ⚠ Response code 404 (Not Found)
#9 1155.   ⚠ gifsicle pre-build test failed
#9 1155.   ℹ compiling from source
#9 1386.   ✔ gifsicle built successfully
#9 1392.   ⚠ spawn /app/node_modules/mozjpeg/vendor/cjpeg ENOENT
#9 1392.   ⚠ mozjpeg pre-build test failed
#9 1392.   ℹ compiling from source
#9 1411.   ✖ Error: Command failed: /bin/sh -c autoreconf -fiv
#9 1411. autoreconf: Entering directory `.'
#9 1411. autoreconf: configure.ac: not using Gettext
#9 1411. autoreconf: running: aclocal --force
#9 1411. autoreconf: configure.ac: tracing
#9 1411. autoreconf: configure.ac: not using Libtool
#9 1411. autoreconf: running: /usr/bin/autoconf --force
#9 1411. configure.ac:23: error: possibly undefined macro: AC_PROG_LIBTOOL
#9 1411.       If this token and others are legitimate, please use m4_pattern_allow.
#9 1411.       See the Autoconf documentation.
#9 1411. autoreconf: /usr/bin/autoconf failed with exit status: 1
#9 1411.
#9 1411.
#9 1411.     at /app/node_modules/bin-build/node_modules/execa/index.js:231:11
#9 1411.     at runMicrotasks ()
#9 1411.     at processTicksAndRejections (internal/process/task_queues.js:97:5)
#9 1411.     at async Promise.all (index 0)
#9 1416.   ⚠ spawn /app/node_modules/optipng-bin/vendor/optipng ENOENT
#9 1416.   ⚠ optipng pre-build test failed
#9 1416.   ℹ compiling from source
#9 1554.   ✔ optipng built successfully
#9 1560.   ✔ pngquant pre-build test passed successfully
#9 1570. The Cypress App could not be downloaded.
#9 1570.
#9 1570. Does your workplace require a proxy to be used to access the Internet? If so, you must configure the HTTP_PROXY environment variable before downloading Cypress. Read more: https://on.cypress.io/proxy-configuration
</details>

Sincey you made another issue for this, I'm going to mark this one as duplicate.
#454


Update package versions that are important to new completion APIs.

aspnet/Razor#2227

This is only for 3.0