Odo index file stores absolute filepath for files

[kind/bug]

What versions of software are you using?

Operating System: Fedora
Output of odo version:

How did you run odo exactly?
odo create java
odo push

Check the .odo/odo-file-index.json, it will have files stored as absolute path which would

if someone checks in the index file and another user gets that repo then the first push will always be a full build
makes the project less portable. If a developer moves the project around, the index breaks
unnecessary prefix /Users/<user> for each filepath. Contributes to size of the index file

/priority high
/kind bug
/milestone 1.0

Opened a draft pr for people to try and also so we could discuss the best way to handle the breaking change

Maybe we can even version the index file?
We can use the same base struct as we use that we use for json output?

Maybe we can even version the index file?
We can use the same base struct as we use that we use for json output?

One thing to keep in mind is that this file can be always recomputed. It doesn't hold any important information. Even if the structure changes, we can delete the file and recreate it. The only input that this will have is that it will trigger push even if files were not changed.

I have a question which is not exactly related to the absolute vs. relative path discussion.
Is the index file going to be tracked in a git repo? If it is, are we assuming that two developers working on same project will also work on same OpenShift cluster? Because if they work on different OpenShift clusters, wouldn't the json file make odo believe that some files are already pushed to the cluster when they actually aren't?
Am I thinking correctly or am I missing something? :thinking:


Will electron-forge add automatic updates to this feature?

I found that electron-forge package or make function through the electron-package to achieve. But electron-builder has automatic update function.
electron-forge will increase the automatic update function?

electron-builder itself doesn't offer automatic updates.  It provides a loose wrapper around the Electron Auto Updater API with sensible defaults and such.
All artifacts produced by electron-forge are auto updater ready, they just need to be uploaded to some kind of release server.  See the documentation of the Electron Auto Updater API for more details on what that means.
For instance if you use the github publish target of Electron Forge, you just need to host a nuts server and your auto updates are good to go

Thanks a lot!!!!

@MarshallOfSound, sorry to comment on a closed issue. I'm looking into using nuts as a release server. They seem to recommend deploying it on heroku, which I think I did, but I'm having trouble figuring out if nuts is actually running.
Do you have any experience running nuts on heroku and is there a way to see if it's working? The heroku url that is given to me after it deploys just gives an "Application Error".
Thanks in advance!

I do not use nuts but my suggestion is to use an error tracking addon for Heroku like Sentry and figure out what the application error is.


SWID tags for CycloneDX

Couldn't you automatically add the swid tags generated in the SWID file into CycloneDX with  <swid></swid> ?  This field could help for component vulnerability tracing.

Ha!
So sorry. Somehow this issue was not visible in my feed.
We currently cross reference the PURL URL and use the "tagId" in a SWID element, which can be used to cross reference these SBOMs.  Surely adding the SWID information into Cyclonedx can be done. However, this may not solve the problem you are after. As currently the PURL urls are generated locally and they do not really have a reliable software naming approach they follow to distinctly identify vulnerabilities with a PURL or SWID tagId.

I am closing this issue due to no activity. The SWID portion of SwiftBOM hopefully will be focus at a later stage when there is more interest and more support from those active in SWID community - NIST etc.


The current opened tab has no background color

Storage Explorer Version: 1.35.0-dev (98)
Build Number: 20240613.1
Branch: main
Platform/OS: Windows11/Windows 10/Linux Ubuntu 22.04 & MacOS Sonoma 14.5(Apple M1 Pro)
Architecture: arm64/x64/x64/arm64
How Found: From running test cases
Regression From: Previous release (1.34.0)
Steps to Reproduce

Expand one storage account -> Blob Containers.
Create one blob container.
Check whether the opened tab has a background color.

Expected Experience
The opened tab has a background color.

Actual Experience
The opened tab has no background color.

This is by design. We reworked the tab styles for a cleaner appearance similar to VS Code. See #4, #20.


Where'd the JS Debugger API pages go?

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update

Details

The in-tree docs at https://searchfox.org/mozilla-central/source/devtools/docs/backend/debugger-api.md link to https://developer.mozilla.org/en-US/docs/Tools/Debugger-API which is now missing.  Searching for "spidermonkey debugger api" on Google still currently also links to the now-missing page.  Viewing https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey I also see a "Debugger-API" on the left-hand side that I click on and get a "Not Found" page.
I understand Gecko internals stuff is being moved off of MDN, so I wouldn't be surprised if this is intentional, but I'm not sure how to figure out where the information went.  Normally on a wiki page there's some way to view the history so I can find a log entry that says something like "moved to URL" and then follow that URL.  But I don't get any option like that, presumably because deletion is special.  But it would be very handy if there was a "tombstone" that explained where the info went.

Ah, so I found the page on the internet archive at https://web.archive.org/web/20190116190524/https://developer.mozilla.org/en-US/docs/Tools/Debugger-API and scrolled down and found out the page came from in-tree js/src/doc/Debugger/Debugger-API.md which I can view at https://searchfox.org/mozilla-central/source/js/src/doc/Debugger/Debugger-API.md and probably elsewhere.
It'd still be great to have some kind of tombstone and/or clean up the other links from within MDN to now point to where the info is accessible in a rendered form, etc.  Thanks!

Apologies. I've reinstated them now.


Object Definitions documentation

First off, great work!
Is there a good place to find some sort of documentation on what's available within the context objects and whatever other object is passed into the job? For example, a timer job is passed a context and timerInfo object in the examples.
I'm asking as I'm looking to create a general set of Node mocks that can be used during testing.
Thanks!

Unfortunately not really yet, thanks for pointing this out. We do have the Node developer reference here. We do need to improve this I agree :)
As we work towards GA we'll start solidifying these APIs, and before GA you can expect some breaking changes. We'll clean it up and get it documented, but for now, the best doc might be the source code that actually creates the Node context object :)

In general, we need to provide more documentation/examples on all the various bindings and how to use them from C#/Node, etc.

These have been added to the docs under the bindings - for instance: here is DocDB's https://github.com/projectkudu/AzureFunctionsPortal/issues/360
If you find anything which is still missing, feel free to open specific bugs.


request Nhentai search, detail

Base https://nhentai.to/

okay 👌

Base https://nhentai.to/

you can test nhentai search and detail from repo now.
import { nhentai } from "@xct007/frieren-scraper"

await nhentai.search("mom")
await nhentai.detail(12344)

make sure you install repo version 👍

Base https://nhentai.to/

you can test nhentai search and detail from repo now.
import { nhentai } from "@xct007/frieren-scraper"

await nhentai.search("mom")
await nhentai.detail(12344)

make sure you install repo version 👍

Nice


predicting single numpy/sparse matrix row with model trained using libsvm dataset has inconsistent results

Environment info
Operating System:
osx
CPU/GPU model:
cpu
C++/Python/R version:
python
Error message

Reproducible examples
data = "1:4050.0 2:26309.0 3:5973.5735 4:17478.0 5:19111.0 6:0.1539 7:0.2271 8:0.6643 9:0.7264 10:0.494 11:0.8515 12:18 15:0.1003 16:0.1867 34:1.0 53:1.0 59:1.0 65:1.0 68:2.0 78:1.0 79:1.0 89:1.0 94:2.0 99:1.0 104:3.0 108:1.0 113:1.0 118:1.0 119:0.015267175572519083"

data = to_numpy_array(data)
bst = lgb.Booster(model_file=model_file)

res1 = bst.predict(data_numpy)
res2 = bst.predict(path_to_libsvm_data)

res1 is completely different with res2, and res2 has the correct prediction result.

Steps to reproduce
1.train binary classification model using libsvm dataset and save model file
2.load model, predict using single numpy/sparse matrix row record
3.load model, predict with same record above, but put them in file as libsvm format
compare res1 and res2, they are different.
similar issue in https://github.com/Microsoft/LightGBM/issues/684

LightGBM uses the zero-based libsvm format. You can add a dummy column at first column.


Add Amazon Linux judgment.

Since the Amazon Linux to or different packages depending on the version , it was made to correspond to return the version information .

Your fix includes so many duplicated commands with RedHat. So I re-implemented with #407 .


Add tests on pr for lookup table and dag repos

Skimmed through it, I'll not pretend to have understood 100% of this but as far as I can tell looks good to me 👍


release-0.7: ci: Harden action to wait for kind cluster readiness

Description
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request.
If it fixes a bug or resolves a feature request, be sure to link to that issue.
Backport https://github.com/prometheus-operator/kube-prometheus/pull/1237 to release-0.7 for https://github.com/prometheus-operator/kube-prometheus/pull/1295.
Type of change
What type of changes does your code introduce to the kube-prometheus? Put an x in the box that apply.

[ ] CHANGE (fix or feature that would cause existing functionality to not work as expected)
[ ] FEATURE (non-breaking change which adds functionality)
[ ] BUGFIX (non-breaking change which fixes an issue)
[ ] ENHANCEMENT (non-breaking change which improves existing functionality)
[x] NONE (if none of the other choices apply. Example, tooling, build system, CI, docs, etc.)

Changelog entry
Please put a one-line changelog entry below. Later this will be copied to the changelog file.

Seems like the workflow actually fails at starting KinD.
 ✗ Waiting ≤ 5m0s for control-plane = Ready ⏳
 • WARNING: Timed out waiting for Ready ⚠

Seems like bumping the kind version and images fixed the issue. It might've been because https://github.com/kubernetes-sigs/kind/releases/tag/v0.9.0 didn't support v1.20. Although I am unsure why the workflow wasn't failing before.


Delivering bundles to OpenShift Community Catalog with Image digest for usage in restricted env

Is your feature request related to a problem? Please describe.
At the moment it is not possible to deploy the operator on an OpenShift cluster that is aig-gapped / running on a restricted network.
In order to make it possible, the bundle must contain Image Digests instead of Tags as well as a list of all related images, i.e. the ones that deployed as an instance. [1]
[1] https://docs.openshift.com/container-platform/4.12/operators/admin/olm-restricted-networks.html
Describe the solution you'd like
All three rabbitmq operator bundles should be delivered to OpenShift Community Catalog using Image digests.
Describe alternatives you've considered
No response
Additional context
No response

@DanielePalaia since you were making changes on this workflow recently, perhaps this issue is a low hanging fruit if we just use kbld [1] ?
[1] https://carvel.dev/kbld/

Linking these operators as they are implementing this feature (we also need to add a relatedImages group field I think)
https://github.com/rabbitmq/community-operators-prod/blob/main/operators/egressip-ipam-operator/1.2.4/manifests/egressip-ipam-operator.clusterserviceversion.yaml
https://github.com/rabbitmq/community-operators-prod/blob/main/operators/grafana-operator/5.6.0/manifests/grafana-operator.clusterserviceversion.yaml

Thank you! No worry this issue is still relevant for us. Finally we can upgrade without the hassle to rebuild the catalog 😊
Will the next release of rabbitmq-messaging-topology-operator also come with digests ?

@muellerfabi Yes hopefully in the next v1.14.0 release.
Let us know in case of issues! Thanks!

Hi @muellerfabi we also published the messaging topology operator with the digest in 1.14.1:
https://github.com/redhat-openshift-ecosystem/community-operators-prod/pull/4546
I'll cose this issue, let us know in case of any issues


#19 MariaDB time types

https://github.com/quick-perf/sql-test-data-generator/issues/19

Codecov Report

Merging #23 (6ad9730) into main (137f7bd) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main      #23   +/-   ##
=========================================
  Coverage     96.11%   96.11%
  Complexity      265      265
=========================================
  Files            44       44
  Lines           771      771
  Branches         56       54    -2
=========================================
  Hits            741      741
  Misses           26       26
  Partials          4        4

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 137f7bd...6ad9730. Read the comment docs.


VPC Endpoint policy

I notice the module doesnt create a policy for an endpoint. Is this something that will be added in a future release, or can be added?

Please escalate: I created internal support request zendesk #32372 which couldn't be resolved without creating code that would in essence be the PR to fix this.


Baseline jenkins unit tests seem to be missing something with regards to rucio setup

Impact of the bug
CI Jenkins tests
Describe the bug
I've been noticing the following report:
* Unit tests: succeeded
  * 3 tests no longer failing
...

over the last many days, meaning that something has been constantly failing in our baseline WMCore tests, and then succeeding when tests are executed on top of a given pull request.
How to reproduce it
Something related with the "DMWM-WMAgent-TestAll" jenkins job. Triggering that would likely reproduce this issue.
Expected behavior
We cannot have tests failing in jenkins because we forget to set something in the environment. Another way to say it would be, baseline and PR based tests should have exactly the same environment, credentials, and so on; such that we can compare apples to better apples :)
Additional context and error message
Likely related to these changes made a week or two ago:
https://github.com/cms-sw/cms-bot/pull/1491
so it could be that one of the jenkins configuration job wasn't updated properly.

I'm updating the job description for DMWM-WMAgent-TestAll, with a similar setup-rucio.sh configuration as already present in DMWM-PR-unittests.
Possibly unrelated, but I'm also updating this line on DMWM-WMCore-PR-27 job:
- export PYTHONPATH=$WMCORE_ROOT/lib/python2.6/site-packages:$PYTHONPATH
+ export PYTHONPATH=$WMCORE_ROOT/lib/python2.7/site-packages:$PYTHONPATH

Yesterday's addition made the trick (mostly with the line below in the job configuration):
. cms-bot/DMWM/setup-rucio.sh

and today's jenkins reports are looking much better, e.g.:
* Unit tests: succeeded
* Pylint check: succeeded

the small cleanup mentioned before has also been performed. Closing this ticket.


unable to get image assets included in manifest.json

I am using the plugin along with flask-webpack. Everything has been working great when using the
{{ stylesheet_tag('main_css') | safe }} or {{ javascript_tag('main_js') | safe }} tags. But whenever I try to use {{ asset_url_for('img\favicon.ico') }} or any other asset_url_for tag, it always resolves to None.
After some debugging, I discovered that those tags are not present in the generated manifest.json file (although it appears that webpack is seeing them as the file names appear in the console when running the webpack dev server).
Is there some configuration needed to get this working? Let me know if I should share any configuration files. I am using Webpack 4 but I am not sure if this is related, as the .js and .css assets are working.
Thanks.

What does your webpack config look like?

I started with a Flask Cookiecutter template that had a starter webpack config, and then tweaked it a little bit.
Do I have to add another entry point for images? So far I have just been calling them in my jinja2 templates using the {{ asset_url_for() }} tag.
Here is the config.
`
const path = require('path');
const webpack = require('webpack');
/*

Webpack Plugins
*/
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const ManifestRevisionPlugin = require('manifest-revision-webpack-plugin');

// take debug mode from the environment
const debug = (process.env.NODE_ENV !== 'production');
// Development asset host (webpack dev server)
const publicHost = debug ? 'http://<IP_ADDRESS>:2992' : '';
const rootAssetPath = path.join(__dirname, 'assets');
module.exports = {
// configuration
context: __dirname,
entry: {
main_js: './assets/js/main',
main_css: [
path.join(__dirname, 'node_modules', 'font-awesome', 'css', 'font-awesome.css'),
path.join(__dirname, 'node_modules', 'bootstrap', 'dist', 'css', 'bootstrap.css'),
path.join(__dirname, 'node_modules', 'malihu-custom-scrollbar-plugin', 'jquery.mCustomScrollbar.css'),
path.join(__dirname, 'assets', 'css', 'style.css'),
path.join(__dirname, 'assets', 'css', 'nav-style.css'),
],
},
output: {
path: path.join(__dirname, 'fm_frontend', 'static', 'build'),
publicPath: ${publicHost}/static/build/,
filename: '[name].[hash].js',
chunkFilename: '[id].[hash].js',
},
resolve: {
extensions: ['.js', '.jsx', '.css'],
alias:{
img: path.join(__dirname, 'assets', 'img')
},
},
devtool: 'source-map',
devServer: {
headers: { 'Access-Control-Allow-Origin': '' },
},
module: {
rules: [
{ test: /.html$/, loader: 'raw-loader' },
{ test: /.less$/, loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader!less-loader' }) },
{ test: /.css$/, loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' }) },
{ test: /.woff(2)?(?v=[0-9].[0-9].[0-9])?$/, loader: 'url-loader?limit=10000&mimetype=application/font-woff' },
{ test: /.(ttf|eot|svg|png|jpe?g|gif|ico)(?.)?$/i, loader: 'file-loader?context=${rootAssetPath}&name=[path][name].[hash].[ext]' },
{ test: /.js$/, exclude: /node_modules/, loader: 'babel-loader', query: { presets: ['env'], cacheDirectory: true } },
],
},
plugins: [
new ExtractTextPlugin('[name].[hash].css'),
new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' }),
new ManifestRevisionPlugin(path.join(__dirname, 'fm_frontend', 'webpack', 'manifest.json'), {
rootAssetPath,
ignorePaths: ['/js', '/css'],
}),
].concat(debug ? [] : [
// production webpack plugins go here
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('production'),
}
}),
]),
};
`
And here is the generated manifest.json
{     "assets": {         "main_css.js": "main_css.d7c848c491f006d2119f.js",         "main_css.css": "main_css.d7c848c491f006d2119f.css",         "main_css.map": "main_css.d7c848c491f006d2119f.css.map",         "main_js.js": "main_js.d7c848c491f006d2119f.js",         "main_js.map": "main_js.d7c848c491f006d2119f.js.map"     },     "publicPath": "http://<IP_ADDRESS>:2992/static/build/" }

Here's an example config from the test Flask app:
var path = require('path');

var ExtractTextPlugin = require('extract-text-webpack-plugin');
var ManifestRevisionPlugin = require('manifest-revision-webpack-plugin');

var rootAssetPath = './assets';

module.exports = {
    entry: {
        app_js: [
            rootAssetPath + '/scripts/entry.js'
        ],
        app_css: [
            rootAssetPath + '/styles/main.css'
        ]
    },
    output: {
        path: './build/public',
        publicPath: 'http://localhost:2992/assets/',
        filename: '[name].[chunkhash].js',
        chunkFilename: '[id].[chunkhash].js'
    },
    resolve: {
        extensions: ['', '.js', '.css']
    },
    module: {
        loaders: [
            {
                test: /\.js$/i, loader: 'script-loader',
                exclude: /node_modules/
            },
            {
                test: /\.css$/i,
                loader: ExtractTextPlugin.extract('style-loader', 'css-loader')
            },
            {
                test: /\.(jpe?g|png|gif|svg([\?]?.*))$/i,
                loaders: [
                    'file?context=' + rootAssetPath + '&name=[path][name].[hash].[ext]',
                    'image?bypassOnDebug&optimizationLevel=7&interlaced=false'
                ]
            }
        ]
    },
    plugins: [
        new ExtractTextPlugin('[name].[chunkhash].css'),
        new ManifestRevisionPlugin(path.join('build', 'manifest.json'), {
            rootAssetPath: rootAssetPath,
            ignorePaths: ['/styles', '/scripts']
        })
    ]
};

It looks to me like the problem is related to using Webpack 4.  When I run "NODE_ENV=production webpack --progress --colors -p --mode production" , with either of the configs, all of the assets arrive in the output directory, they are just missing in the manifest file.
I will try dig deeper and see if I can figure it out. However I am more comfortable with Python than Javascript. Any suggestion where to start? Could it be something with the format option?

So I was able to get this working by adding extensionsRegex: /\.(ico)(\?.*)?$/i to the ManifestRevisionPlugin configuration options.
Is this a always a required part of the configuration options? Do all assets that need to be included in the manifest.json file need to be either a Webpack entry point or be matched as part of the extensionsRegex?

That wasn't always necessary, must be something new with webpack 4. In 2.x it would just pickup everything in the root path you supply (unless you ignored the path).

It looks to be working now by explicitly including folders with desired assets via the extensionsRegex setting.
Thanks for the assistance! I really like the plugin

No problem, thanks for the feedback. It's good to know things are working pretty well with 4.x.


Uninstall/upgrade functionality

planutils --remove planner

The options to install, uninstall, upgrade, and run components might all work differently for different sources (singularity hub, singularity recipe, from-source-installation, binary download, etc.). Maybe it would be easier to switch from json configuration files to bash scripts.
What I have in mind is a setup like this:
Every component is a directory containing scripts install, run, upgrade, uninstall (maybe also help or usage). The placeholder script that you already use remain the main access point and check if the component is already installed.  This way, adding a new component would mean writing the required shell scripts which can do whatever they want to install things (download the binary or a singularity image, compile code, build a container, etc.). The idea is similar to the job scripts in the load test suite we recently talked about.
Anyway, I think both approaches could work, I just wanted to discuss this as an alternative option. if you are interested, I can create a pull request with my suggestion and we can see how it would look like before deciding.

Why not both?
I entirely understand that some things will have a complicated installation, best left to a script, but for some few common patterns we could have just a simple config. I'm thinking singularity images, binary files, and pip packages in particular. Each would have a standard behaviour for install/uninstall/upgrade, which mostly involves just getting the right file.
If you notice in the JSON, there is a method field to indicate how planutils should handle it.

The advantage I see in having only the scripts is that it would make the main script easier to maintain and also have all the logic related to one component in one place while all logic related to managing the components would be somewhere else. With a mix of both approaches (like method="script") we would not have that separation.
The downside is the possible duplication in the scripts. We could handle that by including utility scripts that offer methods for commonly used patterns but that would weaken the separation again. Overall, I'm not completely convinced by either of the approaches.
Essentially, what all of this functionality (install, uninstall, upgrade) is, is a package manager for planning tools. Maybe it is worth looking into how some of them are designed?

Essentially, what all of this functionality (install, uninstall, upgrade) is, is a package manager for planning tools. Maybe it is worth looking into how some of them are designed?

I think this is spot on the money. Who was it that recommended the SMT one? I think that was similarly a package manager of sorts. Can't seem to find it again...

Guillem mentions pySMT and that looks indeed very related. The focus of the project is a common python interface to all solvers (which would also be cool, but I think is currently out-of-scope). Installing pySMT also installs a tool pysmt-install to install new SMT solvers. Looking at the source code, it seems like they have individual python scripts to install each solver with common parts factored out into a base python module:

code of pysmt-install: https://github.com/pysmt/pysmt/blob/master/pysmt/cmd/install.py
base installer: https://github.com/pysmt/pysmt/blob/master/pysmt/cmd/installers/base.py
installer for Z3: https://github.com/pysmt/pysmt/blob/master/pysmt/cmd/installers/z3.py

Oy...some things of note:

Those scripts are heavy-hitting. Not sure we need to be that detailed if we aren't defining a common interface across the planners, right?
They don't consider upgrade or uninstall. I think we could readily handle the former, but the latter might get dicey (e.g., remove all your dependencies? What if something else needs them?)

Would it make sense to keep track of what is currently installed and which packages where installed manually? Then if one package is removed, compute the graph of all installed packages with edges for dependencies and prune everything that was not installed manually and is not required anymore.

Maybe just asking the user to run autoremove or equivalent command after uninstall is executed is enough, or always executing this command automatically and letting the user choose [yes] or [no] in the removal dialog.

Well there is the simple proxy setup, which would be obvious for keeping track of and removing. If I request lama, then it's a proxy for FD. Uninstalling FD means also removing lama (but not vice versa).
If the script for installing is arbitrary, then how do we keep track of dependencies through that?

I'd argue that the package meta data (the json file) is responsible for defining dependencies and that the package manager is responsible for installing the necessary dependencies. That would mean the script for installing a package assumes its dependencies are already met.
I also like the idea of automatically going through the dependency tree of an uninstalled package and asking the user for each one that could be removed.

Now we're back to the finer details of privileged access. Should root-required dependencies be allowed in the json configuration?

I'm not sure I understand the issue. Are you talking about a package A requiring root access to install and a package B depending on it? If so, here is how I imagine this working:

The meta data of B lists a dependency on A.
Installing B resolves the dependency by first installing A.
The installation of A either stops when it doesn't have root privileges ("please re-run as root") or acquires the privileges on the fly.
If the installation of A fails (for whatever reason), the installation of B does not continue.

So then dependencies in the metadata will roughly be like...

  ...

  'dependencies': [
    {'name': 'whatever',
     'type': '{apt|pip|planutils}',
     'root': '{yes|no}'},
    ...
  ],

  ...

Already we have a ~/.planutils/ directory that we can place the dependency nest.

I was thinking more like this (assuming for the sake of example, that Fast Downward needs to be build from a Singularity image which would require root access):
$ ls packages
lama
fast-downward

$ ls packages/lama
install
uninstall
run
manifest.json

$ cat packages/lama/manifest.json
{
    "name": "Lama First",
    "shortname": "lama",
    "description": "Coming soon...",
    "dependencies": ["fast-downward"]
}

$ cat packages/lama/install
#!/bin/bash
# nothing to install here (the actual planner is in the dependent package fast-downward)

$ cat packages/fast-downward/install
#!/bin/bash

if [[ -f $INSTALLED_PACKAGES/fast-downward/fast-downward.sif ]]; then
  echo "Already installed"
  exit 0
fi

[ "$UID" -eq 0 ] || (echo "installation requires root access"; exec sudo "$0" "$@")

cd $INSTALLED_PACKAGES
mkdir fast-downward
cd fast-downward
wget fast-downward.org/get/Singularity
singularity build --name fast-downward.sif Singularity

Alternatively with python scripts instead of the bash scripts, or maybe with common code like building a singularity image factored out to some shared (Python/bash) scripts.

To be clear, the main difference I see to your suggestion is that it would no be necessary to specify the type of the package or whether it requires root access in the metadata as part of the list of dependencies. Each package should know how to install/uninstall itself assuming all dependencies are already installed.

Aye, makes sense. Why build the singularity image instead of fetching?

I just did this to have an example where one component that doesn't need root installation depends on another that does. It makes no sense to really install Fast Downward this way.

Slowly getting there: https://github.com/AI-Planning/planutils/pull/11


Certificate replace problem

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):
According to documentation (which is is down at the moment: https://rancher.com/docs/rancher/v2.x/en/installation/options/tls-secrets/) if i need to replace certificate i should delete the tls-rancher-ingress secret using kubectl -n cattle-system delete secret tls-rancher-ingress and add a new one.
If i delete this secret then it's right back. If i try to replace certificate & key using UI, then automatically it puts back this dynamiclistener-ca certificate.
Aloso tried:
kubectl -n cattle-system delete secret tls-rancher-ingress; kubectl -n cattle-system create secret tls tls-rancher-ingress   --cert=tls.crt   --key=tls.key
secret "tls-rancher-ingress" deleted
secret/tls-rancher-ingress created
Still that self signed is back
Also:
kubectl -n cattle-system create secret tls tls-rancher-ingress \
>   --cert=tls.crt \
>   --key=tls.key \
>   --dry-run --save-config -o yaml | kubectl apply -f -

W1006 12:10:44.596723   19501 helpers.go:535] --dry-run is deprecated and can be replaced with --dry-run=client.
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
secret/tls-rancher-ingress configured
Result:
Other details that may be helpful:
helm.sh/chart=cert-manager-v0.12.0
Environment information

Rancher version: 2.4.8
Installation option (single install/HA): HA

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported):
Machine type (cloud/VM/metal) and specifications (CPU/memory):
Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.3", GitCommit:"2e7996e3e2712684bc73f0dec0200d64eec7fe40", GitTreeState:"clean", BuildDate:"2020-05-20T12:52:00Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.9", GitCommit:"94f372e501c973a7fa9eb40ec9ebd2fe7ca69848", GitTreeState:"clean", BuildDate:"2020-09-16T13:47:43Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

Docker version (use docker version):

Client: Docker Engine - Community
 Version:           19.03.10

Anyone? Maybe a hint if i'm doing something wrong or you need more info?

Anyone? Maybe a hint if i'm doing something wrong or you need more info?

I see the same issue with my certificate replacements.  Looking at the ingress-nginx controller shows 404's - anyone have a solution to this?
GET /.well-known/acme-challenge/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HTTP/1.1" 404


fix: replace slow Omit type

Fixes #4061
Omit type uses Exclude, it's much slower.
CSS.Properties type must be huge:
https://github.com/styled-components/styled-components/blob/bb1bd5a80bf46813a2c9b4635399ae04b007c942/packages/styled-components/src/types.ts#L225

Tested this and it fixes the issue for me. Much faster too, went from crashing after 90s to succeeding in 5s.
Nice work!

That is some magical TS, nice

Same—tested as well and it resolved slow TS issues.
:shipit:

Things are almost passing. There's a type issue in StyledComponent.ts I'm attempting to track down. Something about the way FastOmit works isn't jiving well with propTypes I guess 🙄


Feature Request: Main and helper monitor optional as separate windows

If I don't connect an external monitor, but have to give a presentation (via GoToMeeting or Skype), it would be very useful to have an option which enables to display both screens. Since in those videoconferencing apps a single window can be selected for presentation/screen sharing, I would share the main screen for the audience and have the helper screen with my notes private.
The separate windows could then also easily be moved to a separate space (https://support.apple.com/kb/PH18757).
Would highly appreciate this feature.

Should work now with version 0.9.8. For custom layouts the "New window" display option opens a non-fullscreen window.


allow saveElementScreenshot to save to specified path

What are you trying to achieve?
Better structure screenshots.
I.saveElementScreenshot('some element', firefox/600x800/regression/banner/small_banner.png)
which should save to
firefox -> 600x800 -> regression -> banner -> small_banner.png
What do you get instead?
The above case doesn't work. saveElementScreenshot only takes a file name without path and saves it to the folder defined in the codecept.conf.js which results in all screenshots going to the same folder and makes it hard to manage.

oh why don't you just name like this firefox_600x800_regression_banner_small_banner.png?

you can create custom method in a helper which will save wherever you want.
you can take saveScreenshot as a reference for that


EVP: fetch the EVP_KEYMGMT earlier

Instead of fetching the EVP_KEYMGMT in the init for every different
operation, do it when creating the EVP_PKEY_CTX.
This allows certain control functions to be called between the
creation of the EVP_PKEY_CTX and the call of the operation's init
function.
Use case: EVP_PKEY_CTX_set1_id(), which is allowed to be called very
early with the legacy implementation, this should still be allowed
with provider implementations.

I've tested this merged with #11328, and the previous failures in test/evp_extra test went away.

This pull request is ready to merge


feat: remove DecidableEq argument from Finset.sym2

I think having it split makes sense (though the List function might be a bit artificial).
For Sym, it's pretty straightforward -- it's the List version of Nat.multichoose, where + becomes ++, and the LHS of ++ you map consing the head of the list. I don't know how much harder the proofs are to carry out.

bors merge

bors r+


How can I subscribe only to specific channel?

It is not very efficient to subscribe to all channels on Bitfinex in Websocket connection. Is there any option to subscribe just to specific channel? (order book etc.)

Please delete, just saw readme :)


Fix svg alignment in safari

Before:

After:

Closes #21 🎃

Sweet, gonna check this out myself in the other browsers first but looks like it will be a merge 😄  🎃

Tweaked to middle instead of central which looks more visually centered in both safari and chrome. Unfortunately it looks like Firefox hasn't implemented any of these properties so I'm going to change the recommendation in the readme to not use svg.


Enrich the configuration wizard with Preview mode

Let the user configure also the preview mode via the configuration wizard.

it should be possible to enter the preview key by hand
it should be possible to load the default preview key for the default project (== web.config will contain DefaultPreviewApiKey with the value)

this is not relevant at the moment.


Robot Name v4

Refactored Robot class to hold class variable of a Registry which will be used for all Robots until changed

@Manbearpixel I think you did a great job on this exercise. You used some good patterns, used constants, had well-defined classes with one job, and had easy to understand methods. All around excellent work. Keep up the nice work! You're good on this exercise.


ArUco markers in Habitat Sim?

How can one add ArUco markers to Habitat Sim? I did not find any tutorials or discussions on how to add these markers.

Hey @troiwill, there is no explicit support for fiducial markers in Habitat-sim.
However, it should be trivial to add and managed these as kinematic rigid objects. Checkout the Advanced Topic : Object and Primitive Asset Customization section of the ECCV 2020: Habitat-sim Advanced Features tutorial for concrete details on managing object assets.
At a high level, I would:

Create a simple 2D square mesh and apply the fiducial texture in Blender or another 3D editor.
Export each fiducial asset as a .glb file.
Load the objects into Habitat-sim as described in the tutorial linked above.
Instance the desired fiducial object into the world, set it as MotionType::KINEMATIC and possibly disable collisions.
Then you can move the object(s) anywhere in the scene where they will be visible by your camera sensors.

Hi @aclegg3, thanks for the help! I will check out this solution.


[WIP] release: update version in Cargo.toml automatically

We only need to git tag to release a version without modifying
the version field in Cargo.toml and Cargo.lock.
Signed-off-by: Yan Song<EMAIL_ADDRESS>

Looks cool 👍 . But better the logic replacing versions in Cargo.toml is performed from Makefile since some vendors are compiling nydus artifacts by themselves.


Unreconized command /py

Which OS:Ubuntu 17.04
Which LLDB version (lldb -version):4.0
Which VSCode version (Help/About): 1.12.2
What is the problem and how did you get there:
/py
error: '/py' is not a valid command.
error: Unrecognized command '/py'.

/nat
error: '/nat' is not a valid command.
error: Unrecognized command '/nat'.

What did you expect to have happened instead (if not obvious):

Well, yes, /py is not a command, it's an expression modifier.
You can use it like so: ?/py 2 + 2

why ?/py debugvis.plot_image($image, $xdim, $ydim) if $y % 50 == 0 else Falsecannot set any conditional breakpoint? I do the steps as the Data visualization wiki says.

In step 1 you'll need to enter /py debugvis.plot_image($image, $xdim, $ydim) if $y % 50 == 0 else False as a breakpoint condition (right-click breakpoint symbol on the gutter, choose "Edit breakpoint...").   Sorry for being unclear!
? prefix is only needed in the Debug Console to tell CodeLLDB that you want to evaluate an expression, rather than executing a LLDB command.  In other contexts (breakpoint conditions, watch panel) CodeLLDB already knows it's an expression.

Added an example to visualization wiki page.


Shortest Distance Between Words

🚀 Feature
Given a list of words and two words word1 and word2, find the shortest distance between those two words from the list.
Input : words=["practice", "makes", "perfect", "coding","makes"]
word1="coding"
word2="practice"
Output: 3
word1="coding"
word2="makes"
Output : 1
Have you read the Contributing Guidelines on Pull Requests?
yes
Motivation
Beneficial for Competitive Programming
Pitch
Interview question

@shraddhavp can I be assigned this?

assigned @ErzaTitania-2001

I cann do this in c++ and Java, dk assign me

I would like to do this in python under DWOC

@Rishikeshrajrxl  go ahead with cpp

@kapilkumar2001  go ahead with python


Makes ConcurrentAuthenticationTokenProvider abstract

GitHub Issue: #86
Proposed Changes
Makes the ConcurrentAuthenticationTokenProvider<TAuthenticationToken> an abstract class, allowing deriving classes to implement their own version of the GetToken, NotifySessionExpired and RefreshToken abstract methods, instead of forcing the delegates to be passed into the constructor.
What is the current behavior?
The current ConcurrentAuthenticationTokenProvider<TAuthenticationToken> requires to be constructed with 3 delegates.
What is the new behavior?
The new ConcurrentAuthenticationTokenProvider<TAuthenticationToken> is now abstract and force the implementation to override the methods, making the service a lot more easy to registrer into the DI pipeline.
Checklist
Please check if your PR fulfills the following requirements:

[x] Documentation has been added/updated
[x] Automated Unit / Integration tests for the changes have been added/updated
[ ] Contains NO breaking changes
[x] Updated the Changelog
[x] Associated with an issue

Breaking changes
Usages of the ConcurrentAuthenticationTokenProvider<TAuthenticationToken> will break because it does not allow to be constructed with delegates anymore.

@jeanplevesque This is my proposition to fix your comment on UnoApplicationTemplate PR

Closing after discussions with @jeanplevesque


Add eslint-plugin-polymer-components to home page

Thank you @tryenc! I can merge this once you please sign the CLA.

@kristakhare I think I messed up which git account I used to push this patch. I definitely signed the form and when I click the link, the form is already filled out. I'm doing something wrong


Move export and filter buttons to the right, above the table

Background:
https://trello.com/c/jUyj4aiB/436-move-export-and-filter-buttons-to-the-right-above-the-table
Solution:

Moved export and filter buttons to  the right, above the temple.
Since text-overflow doesn't seem to work correctly on select element, except for Firefox, I made the roles assignment boxes wider, so not to clip the displayed text.

 Move export and filter buttons to the right, above the table


The proxy feature

Copied the proxy feature which is available in gulp-webserver.
The feature is usefully for me to resolve the cross-domain ajax during client-side dev.

Thanks for the review.
I added the document about 'proxies' option in README. And removed exported livereload.filter function.
However, I may don't understand your comments about
"Please shift this block to within the end() block of the previous request call so that they execute in sequence." I tried merge the two requests in one sentence, but test fails.

Thanks a lot! I'll make the necessary changes and merge in.


Out of memory for lang_id recipe

Hi, I am trying to train my own ECAPA-TDNN model on VoxLingua107 dataset. Frequently, I run into CUDA out of memory issues
RuntimeError: CUDA error: out of memory

I am using 8x A100 40GB for the training, with batch size set to 8. Do you have an idea where these out-of-memory issues are coming from? At first, I blamed audio data, but all audio recordings are under 20 seconds. I am trying to train only on audios under 10 seconds, and I want to see if the problem persists.
I used to run into same issues with V100 16GB, even when training on the single GPU.
Thanks.

Hi, if you use DDP, the batch_size is replicated on each GPU so you'll get a batch size of 8x8. Hence, increasing the number of GPUs with DDP without decreasing the BS does not solve the problem. You can have a look at the CommonVoice ASR recipe to see how to filter audio files per length. Please track the avoid_if_longer_than parameter in the YAML and .py file (just few lines to modify).

Thanks, I'll try that. I am actually using DataParallel from torch.
I was able to finish 2 epochs with audios < 10 seconds.

Well, that's definitely too much. Are you able to train the model on CommonLanguage using a single GPU? We here don't have very long recodings (e.g, 5 seconds).

I was able to start the training on CommonLanguage, but then I went straight to VoxLingua107. I was able to train a model on utterances shorter than 15 seconds without any issue (batch size = 64). I am gonna close this one, thank you for your help.


Rich text LINK_HANDLERS needs abstraction into associated apps.

Related to #961.
wagtailcore/rich_text.py seems to define how placeholder links present in rich text fields get "expanded" to real links.
If you've got a custom document model it needs to be possible to register additional custom link handlers like DocumentLinkHandler so you can ensure it's the objects in your custom model that get searched, instead of Documents.objects.
More generally it seems the rich text handlers for expanding images/documents/pages etc probably ought to be abstracted into their associated apps, with a hooks system used to add them to the LINK_HANDLERS iterated over by expand_db_html().
Of course if an AbstractDocument were possible this might not be needed, but it seems the link handlers should probably be refactored all the same.

Paging @timheap who, given his excellent work on the widgets, might feel inclined to work on this also :)

Implemented in #1093


Unset LD_PRELOAD before launch.

Many CJK sublime users use sublime-imfix.c (by<EMAIL_ADDRESS>&<EMAIL_ADDRESS>for input. This hack uses LD_PRELOAD to provide a GTK+-2.0 patch, but LD_PRELOAD may be passed to the invoked terminal and may cause problems. For gnome-terminal, the error message is: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported.
This commit unsets LD_PRELOAD before lauching the terminal.

I'm all for supporting this but would like to learn more about the source of the problem before accepting this PR. Could you link us to more information on the sublime-imfix.c/LD_PRELOAD patch/hack?

The patch can be viewed here. As you can see from its compilation command, the patch is linked with Gtk+-2.0. The problem is, if LD_PRELOAD is passed to gnome-terminal (working with Gtk+-3.0), the symbols may conflict, and the terminal fails to run.

Thanks for getting back so quickly =) After some thought, maybe we could add wider support for custom environment variables. How about we add an env parameter to Terminal.sublime-settings which either extends the existing environment variables?
{
  "terminal": "xterm",
  "env": {
    "LD_PRELOAD": null
    // or "LD_PRELOAD": ""
  }
}

@twolfson I was also thinking of this, because I wasn't sure if there is any rare case in which LD_PRELOAD in indeed essential to invoke the terminal. But I wasn't sure about your solution, because setting LD_PRELOAD to null is different from unsetting LD_PRELOAD. Do you have any other ideas to make the config less confusing?

Have you explored what Python's behavior is when it receives a null environment variable? I don't have time at the moment to see what it does =/
I thought of a more flexible configuration but it's definitely more confusing =/ I think the one above is probably the simplest we can get
{
  "terminal": "xterm",
  "env": {
    "LD_PRELOAD": {"unset": true}
  }
}

Unfortunately I don't have time at the moment to expand this more, but setting env vars is tricky on OS X. The newterm backend I wrote supports this, so Ideally we could leverage that. However, the rewrite using newterm hasn't moved forward at all yet, so perhaps a half-implemented workaround would be better in the short term.

I'm on the fence about adding the {PATH} support. It's neat and cool but nobody is asking for it and it could lead to unnecessary maintenance issues =/

Right now, all we need is adding/replacement/removal nothing about appending etc

Thanks for being so quick to provide updates and push this through by the way =)

PATH is just an example of showing how to modify an environment variable. I want to provide a more general way of modifying environment variable, and it is very likely that people may use the old value of that env. Appending PATH is the first example that comes to me. What do you mean specifically by maintenance issues?

It's possible that people want string append support but it feels more like
we are making a problem for ourselves to solve. My counterarguments are:

Nobody has requested support for it in the lifetime of this repo
For the PATH case specifically, people will more likely already have PATH
pre-configured when launching Sublime or need something more custom and
need to write their own shell script

By maintenance issues, I mean it:

Opens us to requests for wider stranger support (eg regexp replacement)
Adds more code to test/handle in case of bugs or rewrites

On Dec 30, 2016 7:51 PM, "peterfyj"<EMAIL_ADDRESS>wrote:

PATH is just an example of showing how to modify an environment variable.
I want to provide a more general way of modifying environment variable, and
it is very likely that people may use the old value of that env. Appending
PATH is the first example that comes to me. What do you mean specifically
by maintenance issues?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/wbond/sublime_terminal/pull/150#issuecomment-269847489,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3FWJNnjnA6QCkqQw4uAktV2VVRl6jxks5rNdEjgaJpZM4LX-cJ
.

Thanks for understanding, re-reviewing code now =)

Looks good to me, landing this now :tada:


[BUG] Someone removed TableAttribute input binding from Azure Functions!

Library name and version
Microsoft.Azure.WebJobs.Extensions.Storage 5.0
Describe the bug
Someone removed TableAttribute input binding for Azure Functions in version latest stable version of Microsoft.Azure.WebJobs.Extensions.Storage 5.0.
This has been in Azure since DAY ONE!
This is a MASSIVE BREAKING CHANGE...
Workaround
Use Microsoft.Azure.WebJobs.Extensions.Storage 4.05
Expected behavior
Table InputBinding works.  TableAttribute in Microsoft.Azure.WebJobs.Extensions.Storage SDK
Actual behavior
TableAttribute is no longer in Microsoft.Azure.WebJobs.Extensions.Storage 5.0.
MASSIVE BREAKING CHANGE!
Reproduction Steps
Create Azure Function with a Table input binding.
Can't.  Table not found in any referenced assembly.
Environment
Microsoft Visual Studio Community 2019
Version 16.11.7
VisualStudio.16.Release/16.11.7+31911.196
Azure Functions project.
Microsoft.Azure.WebJobs.Extensions.Storage 5.0

UPDATE: I've given up using Microsoft.Azure.Functions.Worker.Extensions.Storage now using Azure.Data.Tables instead.

Hi!
Thank you for raising this issue. We did not plan to drop support for Azure Tables from the latest Extensions version and we are working on adding support for it. The new extension will be based on the latest Azure.Data.Tables package and we hope to have a beta version of it released early next year.
In the meantime, there are a couple of workarounds if you are using Azure Tables:

Remain on the older version of the Functions Extensions which has support for Tables until the new extension is released
Directly interact with the Azure Tables service from the Azure Function code by using the Azure.Data.Tables library linked above.

Please reach out if you have any more questions about this.

@AlexGhiondea thank you for the input.  I've refactored my app to use Azure.Data.Tables and code the library calls.  Actually not that difficult once I figured out that Azure.Data.Tables is the newer package.
Thanks again, Karl

@longtimedeveloper good to hear that you were able to get unblocked by directly using the Azure.Data.Tables package! I'll ping this thread once we have a package available that you can try if you are interested!

Why is this closed?? This should have one of the highest priority. It isn't mentioned anywhere, that Table binding was removed on purpose.
With .Net 6 for blobs we are forced to use Azure.Storage.Blobs because other packages are deprecated and throws CultureInfoExceptions...
Since
Microsoft.Azure.WebJobs.Extensions.Storage 4.05 doesn't support the new BlobClient binding (only 5.0.0 does) if you are using Tables and Blobs you are screwed.
So the only solution is to rewrite functions to manually connect to table storage using Azure.Data.Tables.
Dropping core functionality without any documentation and warning is a joke. This is unacceptable!

@zingz0r I've had to move to Azure.Data.Tables as well for all my Azure functions.  This came as a bit of a shock to me as well, having written my Azure functions 3 years ago, been working every day since, and just like you, trying to move to .NET 6.
The good news is, the modifications didn't take too long after I established patterns for my TableService  that I wrote that handles the calls to Azure.Data.Tables APIs.  None of my functions make calls to Azure.Data.Tables, they only use the TableService .  Abstracting away any Microsoft libraries from my functions really helped me.  More good news, the Query API is much simpler than the previous library call setup.  Now you can pass a Lambda and execute the Query, nice!
One note of caution is the Get, and GetAsync methods throw an exception if the record is not found.  This caused a lot of friction with developers and is recorded here: https://github.com/Azure/azure-sdk-for-net/issues/16251  The good news is, the Team has decided to provide a fix.  The issue thread is long but does cover the problem and solution.
So for now, I'm using  Get, and GetAsync but am wrapping them in a try/catch block until the Team provides the API fix to allow developers to avoid exceptions for no record found.  As an alternative, you can use Query  and QueryAsync and deal with their results to return the single record you expect.
Hope this helps, best regards, Karl

We are working on building the Tables Extension and we hope to have something you can try early next year. We're using https://github.com/Azure/azure-sdk-for-net/issues/25342 to track the work and we'll will post updates and package links to that issue.
@zingz0r I'd like to understand more about the issues you are facing with .NET 6 and the exceptions you are seeing being thrown - would you mind sharing a bit more about when you're seeing them?

https://docs.microsoft.com/en-us/dotnet/core/compatibility/globalization/6.0/culture-creation-invariant-mode

Starting in .NET 6, an exception is thrown if you create any culture other than the invariant culture in globalization-invariant mode.

https://github.com/Azure/azure-storage-net/issues/1050

Hi everyone and Happy New Year!
I wanted to let you know that we have a version of the package ready for you to give a try! More information about it are here.

Hi everyone! I wanted to circle back here and announce that we have released the GA version of this library:
https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Tables/1.0.0

@Bartmax: Your screenshot appears to indicate something different than the focus of this issue.   I'd suggest opening an issue in the Azure Functions worker process repository, here so that the team best able to assist has visibility.


Update cloud team in OWNERS

Based on https://github.com/openshift/machine-api-provider-openstack/pull/83#pullrequestreview-1626392028.

/cc @mandre @mdbooth

/retest


Adding Contributor Workflow to Documentation

I am a contributor to GSSOC'23, an open-source project. I would like to add a contributor workflow to the documentation. Could you please assign this issue to me? @vermaanurag1532

We are pleased to inform you that you have been assigned with this issue.
Regards
While Network Private Limited

I have made the necessary changes and submitted a pull request. Please let me know if there are any issues or suggestions for improvement. I kindly request you to review and merge my pull request @vermaanurag1532

Hey, @vermaanurag1532  can u add GSSoC'23 label to it #4 as I'm open source contributor of GSSoC'23, Thank you.

Helloc@vermaanurag1532 can u add GSSoC'23 label to it this issue as I'm open source contributor of GSSoC'23, also you already merge my PR #4 thank you.


"Expression too complex" errors happening too often/quickly

With the new syntax/arrity of curry, we seem to be hitting these complexity errors shockingly fast. Sometimes as quickly as 5 properties.  We should either:

Drop the number of curry functions to 26, since for some reason that nearly doubles the number of applications we can perform
Suggest that users always save the curried method off to an intermediate variable, since that nearly triples the number of applications
All of the above.

related: http://www.cocoawithlove.com/blog/2016/07/12/type-checker-issues.html

Hello,
Could you please explain what do you mean by "number of applications".
Thank you

Could you please explain what do you mean by "number of applications"?

Yeah, I worded that oddly in the initial issue. I believe what I meant is that by saving the function off into an intermediate variable instead of using it directly, we can immediately jump to 15 properties without any issues.

Also if you have a model with more than 21 properties in argo how can you handle it?

I'd suggest refactoring your models to try to reduce the number of properties on any one object, honestly. But I'd probably recommend that even if you weren't hitting limitations with Curry.

I'm hitting this error on curry(FooStruct.init) with just 6 properties.

@btc Can you give more detail? What are the 6 properties, and how are you using curry?

@gfontenot
This causes the error:
struct NowPlayingInfo {
    let title: String
    let artist: String
    let album: String
    let stationTag: String
    let artworkDominantColor: String?
    let artworkUrl500: String?
}

extension NowPlayingInfo: Decodable {
    static func decode(_ j: JSON) -> Decoded<NowPlayingInfo> {
        return curry(self.init)
            <^> j <| "title"
            <*> j <| "artist"
            <*> j <| "album"
            <*> j <| "station-tag"
            <*> j <|? "artwork-dominant-color"
            <*> j <|? "artwork-url-500"
    }
}

However, if I decompose like this, it works:

struct NowPlayingInfo {
    let title: String
    let artist: String
    let album: String
    let stationTag: String
    let artwork: Artwork

    // decomposed into another struct because of a limitation in the curry lib
    // see: https://github.com/thoughtbot/Argo/blob/master/Documentation/Curry-Limitations.md
    struct Artwork {
        let dominantColor: String?
        let url500: String?
    }
}

extension NowPlayingInfo: Decodable {
    static func decode(_ j: JSON) -> Decoded<NowPlayingInfo> {
        return curry(self.init)
            <^> j <| "title"
            <*> j <| "artist"
            <*> j <| "album"
            <*> j <| "station-tag"
            <*> NowPlayingInfo.Artwork.decode(j)
    }
}

extension NowPlayingInfo.Artwork: Decodable {
    static func decode(_ j: JSON) -> Decoded<NowPlayingInfo.Artwork> {
        return curry(self.init)
            <^> j <|? "artwork-dominant-color"
            <*> j <|? "artwork-url-500"
    }
}

Interesting. That's compiling fine for me locally. What versions of Argo/Curry/Xcode are you using?

Interesting. That's compiling fine for me locally. What versions of Argo/Curry/Xcode are you using?

Does this error depend on the compute power of the system on which the compiler is running?
I wonder where it's a function of time (timeout) or a function of problem size (threshold).
Xcode 8.2.1
Curry 3.0.0
Argo 4.1.1
Runes 4.0.1

Does this error depend on the compute power of the system on which the compiler is running?
I wonder where it's a function of time (timeout) or a function of problem size (threshold).
Xcode 8.2.1
Curry 3.0.0
Argo 4.1.1
Runes 4.0.1

I'm not sure, honestly. I will say that my machine is an older 15" MBP with a slower processor (2.5 GHz Core i7) and is otherwise identical, so I'm not totally sure that's the case.

I'm going to go ahead and close this due to inactivity but please feel free to reopen if this is still an issue.


API Key

what is WXAPIKey and how can i get this value ?? as when i integrated this with my android project ...there was no app key or api key but in IOS most of the developers used this ... can you guide me how can i get ?? and example of the key

you can get it from WeiXin business platform, it is a 32 length combination of letters and numbers, and you can set it in WeiXin business platform, platform url: https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F, before you set it, you must have an account of WeiXin business platform, and you can get it from WeiXin mail after your WeiXin PUBLIC NO Application success..

Thanks man ...! so i have to make only 3 changes in your code ??right ?
change the appID, AppKey, partnerID then i can test code
On Fri, Oct 7, 2016 at 10:28 AM, turbo_song<EMAIL_ADDRESS>wrote:

you can get it from WeiXin business platform, it is a 32 length
combination of letters and numbers, and you can set it in WeiXin business
platform, platform url: https://pay.weixin.qq.com/
index.php/core/home/login?return_url=%2F http://url, before you set it,
you must have an account of WeiXin business platform, and you can get it
from WeiXin mail after your WeiXin PUBLIC NO Application success..
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dawnBefore/WeChatPayV3/issues/3#issuecomment-252139017,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEbnm11J2Ts8uQnC39HJUrrgma54o2tVks5qxa5IgaJpZM4KPsMy
.

--
Abdul Rahman Majeed
Software Engineer / Developer
+92<PHONE_NUMBER>

yes, but AppKey-> APIKey


babel plugin error fix

fixed issue #106

@shubhanshu-02, Could you resolve the merge conflicts ?

@shubhanshu-02, There are some merge conflicts, could you resolve these ?


[Test Proxy] Add RecordedByProxy decorator and AzureRecordedTestCase

Merges in tools from the integrate-proxy branch so that SDKs can begin migrating tests to the test proxy.

/check-enforcer reset


virtualbox build sometimes fails apt lock

This happens sometimes during releases:
==> virtualbox-ovf: Provisioning with shell script: scripts/upgrade.sh
   virtualbox-ovf: + export DEBIAN_FRONTEND=noninteractive
   virtualbox-ovf: + DEBIAN_FRONTEND=noninteractive
   virtualbox-ovf: + service cron stop
   virtualbox-ovf: cron stop/waiting
   virtualbox-ovf: + apt-get update
   virtualbox-ovf: E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
   virtualbox-ovf: E: Unable to lock directory /var/lib/apt/lists/

I haven't seen this recently.


Add documentation

To manage expectations, we should document what is expected to work already, what we will possibly fix and what is probably
not going to work till we have finished a better Enzyme integration. All issues should be solved in the next iteration.
This overview should be moved into a real documentation..
Not Working, unlikely to be fixed:

Differentiating a function having one or more f32 parameters (f64 works and f32 values are allowed inside of the function).
Not ffi-safe types
Differentiating a function which accepts or uses a dyn trait object anywhere.
AD across language barriers
CUDA and HIP support.
Using oxide-enzyme in a dependency, rather than in your current main project.

Likely to be fixed

Only a combined forward+ReverseAD pass is supported at the moment. Enzyme does support ForwardAD and splitting
the forward and reverse pass of ReverseAD. (Working on it).
Differentiating a function which uses parallelism (e.g. rayon) other than OpenMP / MPI.
Differentiating a function using BLAS / Lapack routines. If you compile them with debug symbols it will already work.
If you use a pre-compiled version it might or might not work, Enzyme doesn't cover all functions yet.

Fixed

Generating Functions returning one f64 parameter in the return struct.
Generating Functions returning three or more parameters in the return struct.

Workarounds:

There is no real workaround for the dyn trait issue, since it requires creating a new vTable. You might be lucky if that object
is not interacting with your active values, but that's not granted.
You can cast f32 to f64 values before passing them to the function and cast them back to f32 inside of your function.
If you want to differentiate functions calling C/C++/Julia/Fortran/... routines, first compile those other languages to .bc bitcode files. Look up the build script on where to place them. You might run into some issues due to missing symbols when using other languages, let me know about your experiences.
Similar to differentiating across language barriers. Technically it will work if you use rust wrappers around them or if you use the clang version which we build in ~/.cache/enzyme/rustc-<version>-src, but that is probably too messy to set up and also requires looking at https://enzyme.mit.edu/getting_started/CUDAGuide/

Using oxide-enzyme in a dependency, rather than in your current main project.

@ZuseZ4 - this sounds indeed like a significant limitation. Can you share a little background about this? What would it take to get this enabled? I'd assume some substantial changes to cargo, right?

Sure @strasdat
So our main issue is that the cargo team discussed post-build.rs scripts, which would run after the compilation. They rejected them, because they did want to keep cargo focused and not turn it into a full cmake alternative. It seemed very unlikely to me, that they are going to reconsider that just for this project. So all we have are build.rs files, which will run before compilation. That's unfortunate for us, since Enzyme requires llvm-bc or llvm-ir files which are just generated towards the end
of the compilation process. Their is no official way to register some function running after that. There are a few solutions out there from people with related issues, but all have their drawbacks. This is the drawback of my solution.
So the cargo enzyme command currently doesn't do much except of calling
RUSTFLAGS="--emit=llvm-bc" cargo +enzyme -Z build-std rustc --target x86_64-unknown-linux-gnu -- --emit=llvm-bc -g -C opt-level=3 -Zno-link

followed by
RUSTFLAGS="--emit=llvm-bc" cargo +enzyme -Z build-std rustc --target x86_64-unknown-linux-gnu -- --emit=llvm-bc -g -C opt-level=3

Notice the -Zno-link in the first run. This is necessary, since Enzyme didn't had a chance to create the functions yet. Not using no-link would result in compilation failure, since cargo would be missing the definition for those functions.
Inside of my library I'm doing some simple checks to see whether this is the first, or the second compilation run. If it's the first run I just return from my build script and let cargo do it's compilation. If it is the second compilation run,
I look for all *.bc files, run llvm-link on them, read the merged.bc file and run enzyme on it. After some symbol magic I create an archive which just contains the function generated by enzyme. Afterwards I hand over the compilation process to cargo again and just ask it to link the new archive.
If you happen to know a good alternative to this setup I'd be happy to switch.
I should however note that issues around the c-abi are at least similar severe (in my opinion) and then we also use incomplete debug output (-g flag) to estimate how the memory layout of Rust types looks like.
With the current implementation we have no clear path to solve any of these three issues, so we are currently working on
a pre-rfc to discuss an alternative implementation.


Build error: unreported exception com.conveyal.gtfs.util.InvalidNamespaceException

 Issue by simonsouth
Tuesday Jun 26, 2018 at 16:05 GMT
Originally opened as https://github.com/catalogueglobal/datatools-server/issues/96

After successfully building the project several times, I ran mvn clean package and the build failed with
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project datatools-server: Compilation failure: Compilation failure:
[ERROR] (...)/src/main/java/com/conveyal/datatools/editor/controllers/api/EditorController.java:[103,39] unreported exception com.conveyal.gtfs.util.InvalidNamespaceException; must be caught or declared to be thrown
[ERROR] (...)/src/main/java/com/conveyal/datatools/editor/controllers/api/EditorController.java:[123,39] unreported exception com.conveyal.gtfs.util.InvalidNamespaceException; must be caught or declared to be thrown
[ERROR] (...)/src/main/java/com/conveyal/datatools/editor/controllers/api/EditorController.java:[154,39] unreported exception com.conveyal.gtfs.util.InvalidNamespaceException; must be caught or declared to be thrown
[ERROR] (...)/src/main/java/com/conveyal/datatools/editor/controllers/api/EditorController.java:[230,39] unreported exception com.conveyal.gtfs.util.InvalidNamespaceException; must be caught or declared to be thrown

Now running mvn package always produces the same result. I'm at a loss as to what has changed---git status shows no modifications.
The lines in question are all pretty much the same and look like
JdbcTableWriter tableWriter = new JdbcTableWriter(table, datasource, namespace);

This is using Ubuntu 16.04.4 (Xenial) within Windows Subsystem for Linux, in case it's relevant.

 Comment by simonsouth
Tuesday Jun 26, 2018 at 16:32 GMT

Looks like Conveyal's gtfs-lib has been updated in their Maven repository but not on GitHub. The package's metadata now shows
  <versioning>
    <snapshot>
      <timestamp>20180626.151636</timestamp>
      <buildNumber>28</buildNumber>
    </snapshot>
    <lastUpdated>20180626151636</lastUpdated>

and Maven now reports these additional dependencies for it:
[INFO] |  +- com.github.Zenika:java-snapshot-matcher:jar:7e6ed4049eb637334e56f84bdd23ea74da05f141:compile
[INFO] |  |  +- com.googlecode.java-diff-utils:diffutils:jar:1.3.0:compile
[INFO] |  |  \- org.hamcrest:hamcrest-all:jar:1.3:compile

If I were to diagnose this further, how would I proceed? Does Conveyal publish up-to-date documentation or source code for this library? Or should datatools-server be using the version on GitHub instead?

 Comment by landonreed
Tuesday Jun 26, 2018 at 20:24 GMT

@simonsouth thanks for the bug report.  We should be cutting a stable release for datatools-server soon.  There have been a number of large changes to the application in the past few months.  We will release a new version of gtfs-lib, which datatools-server depends on.  Currently the dev branch depends on a snapshot version of gtfs-lib, which is why you ran into this bug (the new snapshot caused datatools-server to fail to compile).


Feature Request: Add kubewarden-policy GH topic tag (and any others)

Is your feature request related to a problem?
This repo is missing the standard kubewarden-policy GH topic tag as mentioned in the org README and https://github.com/kubewarden/.github/pull/19#issuecomment-2467179736.
It has no topic tags currently, so some other ones that could be relevant:

as used in other policy repos in this org: kubernetes, webassembly, policy-as-code, kubernetes-security
specific to this repo: kyverno

Solution you'd like
At minimum, add the kubewarden-policy GH topic tag to this repo.
I can't PR that, so opening an issue for it
Alternatives you've considered
Otherwise change the org README if these topic tags are no longer relevant
Anything else?
No response

I've added the missing tags, thanks!


Custom classes are sorted incorrectly

What version of prettier-plugin-tailwindcss are you using?
v0.3.0
What version of Tailwind CSS are you using?
v3.0.22
What version of Node.js are you using?
20.4.0-r0
What package manager are you using?
npm
What operating system are you using?
Linux (Docker)
Reproduction URL
https://github.com/saadeghi/daisyui/discussions/2124#discussioncomment-6420398
I can provide a public Reproduction URL, however the maintainer of DaisyUI @saadeghi confirms the same issue.
If it's still required, I'm happy to provide one. :)
Describe your issue
The problem is the invalid sorting of DaisyUI (or any other framework I tried) custom classes.
Result:

<button type="button" class="btn-secondary btn h-6 w-6" />

Expected:

<button type="button" class="btn btn-secondary h-6 w-6" />

I cannot find any configuration options to solve this. I've tried multiple packages, including https://github.com/francoismassart/eslint-plugin-tailwindcss, also different options, but it all results incorrect ordering of classes.
I do understand this package is used to sort Tailwind classes, however it would be nice if it could understand sub classes, e.g. menu-* after menu. Or sort Tailwind classes, and leave unknown classes in the provided order. :)
Please let me know if you need more info.
Thanks.

Reproduction would be helpful — we don't need it as proof of the issue, we need it as a starting point for trying to troubleshoot and fix the problem. Without one we have to spend a lot more time getting a project set up ourselves and it's not always easy to find that time, so it will take much longer before we have a chance to look at and try and solve the problem if it exists.

Made this quick reproduction:
https://play.tailwindcss.com/segOaiMJFD
The reason menu-compact is sorted to the beginning is because it doesn't exist in Daisy UI.
There does seem to be some surprising behavior here though because when I add it as a custom class in the components layer, it's still sorted before .menu which I wouldn't expect:
https://play.tailwindcss.com/HZ7vexhzaU
The sorting logic is supposed to be:

Unknown classes, then...
Custom classes not generated by Tailwind (either default or via plugin), then...
Classes generated by Tailwind

...and within each group the order is supposed to match the order in your CSS file.
So we'll look into it and see if there's a good explanation for why it's changing the order of menu menu-compact 👍

I guess this makes sense actually, too early haven’t had my coffee 😄 but menu is generated by Tailwind (because Daisy UI is a plugin) and menu-compact is custom CSS, so it comes first.
I sort of think menu-compact should be treated like a plugin though if it’s in a layer, so will still play with it a bit.

Thanks for looking into this, sorry not providing a repo. :)
The class menu-compact is indeed a custom class. However button.css (https://github.com/saadeghi/daisyui/blob/master/src/components/styled/button.css) does provide additional classes like btn-primary, btn-secondary, etc.
I agree with @adamwathan about the order. The problem is that you cannot always use default Tailwind classes, sometimes you extend them or use custom css logic.

@francoism90 Hey! So the prettier plugin doesn't know about @layer-defined classes. It would need a list of CSS files to read, parse, and use to figure out class sorting. And, unfortunately, this would get quite complicated when using preprocessors, Vue SFCs, Svelte style blocks, or other similar situations when the file containing styles isn't just CSS.
As a result, we do not know the class menu-compact exists. You can work around this by instead adding it to your config using a plugin: https://play.tailwindcss.com/gI1boRFsii
It's not ideal but it's the solution we have today. Sorry — hopefully that helps tho! ✨

@thecrypticace Could you please be more specific? :)
Also, would it be possible for projects, like DaisyUI, to provide this out-of-the box?
I would be happy to contribute to the project, but I don't know what would be the best solution.
It's a bit weird this ticket gets closed so soon, as I thought other members were taking a look at possible solutions.

Yeah, as you found you call addComponents in a function with a JS object that describes the CSS you want to output. You can still use @apply in a component by doing something like this in a plugin:
function ({ addComponents }) {
  addComponents({
    '.menu-compact': {
      '@apply bg-red-300 pt-8': {},
    },
  })
}

But I'd recommend using the theme function and reading from the theme instead:
function ({ addComponents, theme }) {
  addComponents({
    '.menu-compact': {
      backgroundColor: theme('colors.red.300'),
      paddingTop: theme('spacing.8'),
    },
  })
}

Regarding Daisy UI, yes they do use CSS files. However, they pre-process those at build-time which are then turned into JS files. Those JS files are then loaded and Daisy UI calls addComponents with the JS-objects that are generated from those files.
Here you can see that they:

At build time, combine a bunch of the CSS files into different groups:
https://github.com/saadeghi/daisyui/blob/master/package.json#L80

At build time, use prejss-cli which converts the CSS files into JS files:
https://github.com/saadeghi/daisyui/blob/master/package.json#L77

At run time, load those built + published files when requiring the plugin:
https://github.com/saadeghi/daisyui/blob/master/src/index.js#L10-L13
https://github.com/saadeghi/daisyui/blob/master/src/index.js#L40-L49

At run time, call addComponents with the object(s) from the just loaded/required files (which were built from the CSS files):
https://github.com/saadeghi/daisyui/blob/master/src/index.js#L66

If you want to see one of the files that they build which ultimately gets passed to addComponents() you can look at the published package:
<EMAIL_ADDRESS>So ultimately, what's happening with Daisy UI, is the same as I described by using addComponents, just with a few more steps that happen when publishing to NPM.
You could absolutely wire up something like this yourself, that also runs when developing, but chances are it'll slow down your build a decent amount and will not work with hot reloading at all. So there are tradeoffs to doing so.

@thecrypticace But if DaisyUI is already using addComponents, it doesn't solve the incorrect class ordering, right?
Like said before, it does the same for btn classes: btn-primary btn, instead of btn btn-primary (both are valid DaisyUI classes) and not custom.

@francoism90 That is actually a separate issue in Tailwind CSS itself related to the fact that Daisy UI uses the same class in multiple selectors and has already been fixed in the insiders build of Tailwind CSS. It's an unrelated problem.

See the issue for it (https://github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/174) and the PR fixing it (https://github.com/tailwindlabs/tailwindcss/pull/11504).

@thecrypticace Thanks for the detailed answers, and pointing me to the PR.
Think @saadeghi should take a look at this, I'm not a DaisyUI developer and expert on this topic. :)
Will however try the insider build, to validate if it has been solved.


Issue-145

Addresses #145 and preps for releases/v3.0

After realizing this isn't a change to behavior, I'm going to just push this to master in a different PR along with the other documentation changes you asked for in #144.


Add Classy

Added Classy. They are a local non-profit I'm planning on applying to and I think their application process looks fairly easy.

Thanks for the PR!


How a mediation recipient does make a connection with a mediator

We started the discussion in #250, but it deserves its own issue.
It seems there is no specification of how it should work. It's a question of whether it should be part of the framework. In any case, I would like to understand how to solve it :)
I like the idea with did:web method and having https://w3c-ccg.github.io/.well-known/did.json on mediator server where an edge agent can find DID Document with service and keys. We don't even need to have web-did-resolver at the start.
But I'm not sure how to continue from there.

Should the edge agent send a connection invitation to the mediator?
Should it skip the connection invitation and send a connection request directly?
Should the edge agent get the invitation from the mediator in any other way?

When using a public did you can use it as an implicit invitation. So I'd say the second option:

Should it skip the connection invitation and send a connection request directly?

We don't even need to have web-did-resolver at the start.

Specific reason not to use it? I'd like to add a did resolver in the near future that can use did resolvers from that library.

It provides some nice features with regards to did url parsing and caching etc.
https://github.com/decentralized-identity/did-resolver

I'm not saying we shouldn't use it, just it's not necessary to have at least some improvement on the way forward.


Handle composite elements

The plugin assumes that every draggable element is a single element with no children. This should not be the case. It should have a way to recognize that a touched element might be part of a container and that the container should be dragged instead of the touched element.

line 76: var $element = $(event.target); => var $element = $(this);
maybe help.it's note tested.

Thanks for the tip @LeoDT. I used that and added support for overridable function canDrag to supplement it. Now composite elements work, as demonstrated by the "simple.html" example.


devp2p hive failure: TestSimultaneousRequests

The devp2p/eth test TestSimultaneousRequests fails with the following logs:
not ok 3 TestSimultaneousRequests
# unexpected request id in response: got 222, want 111

How to reproduce
Run hive:
./hive --client reth --sim devp2p --sim.limit "eth/TestSimultaneousRequests" --sim.loglevel 5

It would be great to write a rust test that's analogous to the hive test along with the fix! It would also help to speed up the feedback loop when fixing, or in case we have regressions

I think the issue with this test is that the test expects the responses in the same order as the outgoing requests
https://github.com/ethereum/go-ethereum/blob/fc380f52ef9778e988266f776b9593ce719cf79d/cmd/devp2p/internal/ethtest/suite.go#L202-L216
but we can easily replicate this Test
ref: crates/net/network/tests/it

seems to be passing since https://github.com/paradigmxyz/reth/actions/runs/7923893449


Add the subctl repository to relevant matrices

This ensures that the consuming and periodic jobs include the new
repository.
Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

yamllint --strict .
./.github/workflows/periodic.yml
  37:141    error    line too long (150 > 140 characters)  (line-length)

./.github/workflows/consuming.yml
  81:141    error    line too long (141 > 140 characters)  (line-length)
  133:141   error    line too long (141 > 140 characters)  (line-length)


How to read or query label of a Feature toggle

Query/Question
I am trying to read feature toggles from feature manger, I could not see any method that supports filtering based on the label.
I am trying to setup the feature toggle for different environment with same key. I am interested to know how can I query toggle value based on label for each environment.

spring.cloud.azure.appconfiguration.stores[0].feature-flags.label-filter= dev
I found the answer hence closing this ticket.


[0.7] Switch the internal architecture to utilize doubly linked lists

This PR switches our internal architecture away from using arrays for children, and instead utilizes and doubly-link list for all Lexical nodes. ElementNode's now have __first, __last and __size properties, removing __children entirely. All nodes also have __prev and _next properties to reference their siblings.
This shouldn't really affect anything, unless things introspect Lexical's internals (which is bad and should be avoided). However, I feel it should still be part of 0.7 to avoid any possible issues or concerns.

Hi! Curious, what are pros for using linked lists?

@TrySound O(1) for getPreviousSibling(), getNextSibling(), insertAfter() and insertBefore() vs O(n) from before.

Did you get chance to test this on any of the hypothetically problematic scenarios? Does it confer any practical speedups there?

@acywatson
Pasting performance round-up:
Short Content:
Before: 6ms
After: 6ms
Medium Content:
Before: 23ms
After: 18ms
Large Content:
Before: 172ms
After: 54ms
Huge Content: https://www.gutenberg.org/files/2701/old/moby10b.txt
Before: 11210ms
After: 892ms


auto_cuts not being generated when other cuts present

Original report by Paul Szypryt (Bitbucket: pszypryt, GitHub: pszypryt).

Dan and I have run into this issue recently. Basically, we apply a set of cuts before the auto_cuts, such as removing all pulses with average value of 0.  We then apply auto_cuts, generally with forceNew=False.  This causes the routine to not generate new auto_cuts, even when auto_cuts had not been done in the past.  I think the issue is with the following line:
if not (all(self.cuts.good()) or forceNew):
I think this will just check to see if any cuts are present, not just necessarily auto_cuts.  In other places of the code, you could specify what sort of cuts to check for, such as in Young's smart_cuts procedure:
if all(self.cuts.good("smart_cuts")) or forceNew:
I guess auto_cuts works a bit differently than the other cuts and is not registered in BUILTIN_BOOLEAN_CUT_FIELDS, but I'm wondering if there is some way to fix this issue.  Maybe checking against all cuts that are done in auto_cuts?

Original comment by Galen O'Neil (Bitbucket: oneilg, GitHub: oneilg).

Yeah, autocuts is really intended to choose the value of various cuts, not be it's own type of cut. So maybe that line should be something line (just guessing on the API of good.
if not (all(self.cuts.good(["pretrigger_rms","peak_time_ms","rise_time_ms","postpeak_deriv")) or forceNew):
So that it only checks cuts it intends to set?
Alternatively, it could inspect the variable self.saved_auto_cuts.

Original comment by Galen O'Neil (Bitbucket: oneilg, GitHub: oneilg).

use backtics to format code sections


Zoom Video Conferences

What is the vendor's name?
Zoom Video Conferences
What is the vendor's pricing site?
https://zoom.us/pricing
What is the base pricing? Use the lowest tier that looks sane for a small business customer, not free or personal tiers.
$14.99/user/month
What is the minimum pricing for SSO support?
$19.99/user/month
Does this pricing info come from a quote or other non-public source?
No
Are there any caveats we should list in the footnotes?
The basic Pro Plan is only available for 1 to 9 users and does not include SSO support. The premium Business Plan with SSO support is required for all deployments with 10 or more users.

This probably doesn't meet the threshold for an unreasonable price jump.

attached to a price tier, but with a reasonably small gap between the non-SSO tier and SSO tiers.

Also, dupe of #66

Closing as dupe


Aofshrink doesn't end properly and accumulates a large number of aofshrink processes

Hello, tidwall, recently encountered a problem of AOF contraction in the use of tile38 1.9 version of the aofshrink, found that aofshrink can not complete the contraction, and the background has been the existence of the aofshrink process, therefore accumulated a lot of aofshrink process. The AOF file size is not large because a set of timed contractions is set in crontab.
Using your 1.9 release source code compiled, my operating system is: RedHat Enterprise Linux Server release 6.5 (Santiago), go version is: 1.8
Because tile38 runs in the production environment, so eager to recover, there is no background left behind. Check the operating system log and the tile38 log without obvious exception records.
Crontab batch shrink list:
0 * * * /opt/fenceio/tile38/tile38-cli -p 9851 AOFSHRINK
0 * * * /opt/fenceio/tile38/tile38-cli -p 9852 AOFSHRINK
0 * * * /opt/fenceio/tile38/tile38-cli -p 9853 AOFSHRINK
0 * * * /opt/fenceio/tile38/tile38-cli -p 9854 AOFSHRINK
0 * * * /opt/fenceio/tile38/tile38-cli -p 9855 AOFSHRINK
0 * * * /opt/fenceio/tile38/tile38-cli -p 9856 AOFSHRINK
0 * * * /opt/fenceio/tile38/tile38-cli -p 9857 AOFSHRINK
0 * * * /opt/fenceio/tile38/tile38-cli -p 9858 AOFSHRINK
0 * * * /opt/fenceio/tile38/tile38-cli -p 8851 AOFSHRINK
0 * * * /opt/fenceio/tile38/tile38-cli -p 8852 AOFSHRINK
#taxigo2
0 * * * /opt/workdir/tile38/tile38-cli -p 7851 AOFSHRINK
0 * * * /opt/workdir/tile38/tile38-cli -p 7852 AOFSHRINK
0 * * * /opt/workdir/tile38/tile38-cli -p 7853 AOFSHRINK

Hi @lizeming
Thanks for reporting this issue. Let's see if I can help.
The AOFSHRINK  command should complete immediately with an OK response. This command tells the server to queue up a shrink operation in the background.
$ tile38-cli -p 9852 AOFSHRINK
{"ok":true,"elapsed":"101ns"}

Are you seeing something different? And are you able to tell if the tile38-cli command is making a connection to the server?
One way to detect this is to run tile38-server with the -vv flag to turn on very verbose logging. Then look for:
2017/08/28 09:19:35 [DEBU] opened connection: <IP_ADDRESS>:55773
2017/08/28 09:19:35 [INFO] aof shrink ended 339.379µs
2017/08/28 09:19:35 [DEBU] closed connection: <IP_ADDRESS>:55773

If you get the OK from the client and the aof shink ended from the server, then it all should be well.
I'd like to determine if the issue is related to the client, the connection, or the server.

Hi,  @tidwall , thank you for your answer. This problem may be related to the server, because the aofshrink command is executed locally, and before the problem occurs the server has had an exception. I now open the -vv and continue to observe the operation.


how to create password?

var Schema = dynamoose.Schema;
const authTypes = ['facebook', 'google'];
var UserSchema = new Schema({
_id: String,
email: {
type: String,
hashKey: true
},
name:String,
hashedPassword: String,
provider: String,
role: String,
salt: String
});
UserSchema
.path('hashedPassword')
.validate(function(hashedPassword) {
if(authTypes.indexOf(this.provider) !== -1) {
return respond(true);
}
return hashedPassword.length;
}, 'Password cannot be blank');
this is mongoos setup
how can implement using dynamoose ?

Sorry for the slow response.
Are you looking to just validate the password or generate one?
To validate it you would add a validate function to the hashedPassword attribute:
var Schema = dynamoose.Schema;
const authTypes = ['facebook', 'google'];
var UserSchema = new Schema({
  _id: String,
  email: {
    type: String,
    hashKey: true
  },
  name:String,
  hashedPassword: {
    type: String,
    validate: function (hashedPassword) { hashedPassword.length > 0 }
  },
  provider: {
    type: String,
    validate: function (provider) { authTypes.indexOf(provider) !== -1 }
  },
  role: String,
  salt: String
});

If you want to generate a the hash from a password, you could use a virtual attribute:
schema.virtual('password').set(function(password){
  this.hashedPassword = hashPassword(password);
});

I'm trying to follow this example, but am getting an error: "Required value missing: hashedPassword"
UserSchema.virtual('password').set(function(password) {
  var user = this;
  bcrypt.hash(password, 10, function(err, hash) {
    if (err) {
      return callback(err);
    }
    user.hashedPassword = hash;
  });
});

Any idea why?

I think it is the fact the set function doesn't wait for the bcrypt.hash to return.  It expects the set function to be synchronous.
Instead of a virtual you may want to use a static.
Here is more or less  what I do for my user model:

User.resetPassword = function *(u) {
  var user = yield User.queryOne('email').eq(u.email).exec();
  user.password = yield hash(u.password, 10);
  yield user.save();
  return user;
}

That's a good thought. I tried a version of your method to no avail. I went back to the original, and found a sync version:
UserSchema.virtual('password').set(function(password) {
  this.hashedPassword = bcrypt.hashSync(password, 10);
});

Still doesn't work. "Required value missing: hashedPassword" I'll keep hacking away. Let me know if you have any more thoughts.

There may be an issue with the order virtuals setter are applied.  Still looking into that.
I know my method will work if you want to give that a try in the meantime.

Thanks. I've got it working with a simple static method.
// Hash password
User.hash = function(password) {
  return bcrypt.hashSync(password, 10);
};

// To create a user:
var userData = {
  email: req.body.registerEmail.toLowerCase(),
  password: User.hash(req.body.registerPassword)
};

// Use schema's `create` method to insert document into database
User.create(userData, ... });


Add pre-commit config yaml file to enable automatic code formatting

@huggingface/datasets do you think it would be useful? Motivation - sometimes PRs are like 30% "fix: style" commits :)
If so - I need to double check the config but for me locally it works as expected.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Better yet have someone enable pre-commit CI https://pre-commit.ci/ and it will apply the pre-commit fixes to the PR automatically as an additional commit.

@Skylion007 hi! I agree with @nateraw here, I'd better not force to use pre-commit so I'm not setting it up in the CI for now. And regarding end-of-file - currently it's being done by black.


Consider adding support for N-subject VC's where N > 1

Our vc.Sign() creates a JWT under the assumption our VC only has a single subject, but what about if we have VCs with more-than-1 subjects?
Originally thought of here https://github.com/TBD54566975/web5-go/pull/60/files#r1502661684

Hi @KendallWeihe,  Can I work on a PR to add an enhancement or an example case to support multiple subjects? I've used this repo for personal projects, and I'd like to contribute to the open issues.
Thanks!

Hey @m-rit 👋
Right now it appears we're locked in for only a single subject for our web5 specification. However, this will likely grow overtime, but at this point in time I'd advise us against going against what's specified in the web5-spec repo. We're in the midst of opening a committee and we'll have a subsequent Working Group for the web5 spec, wherein it'll be appropriate to make proposals such as this ticket makes (this ticket was opened before a lot of what I just said was structured).
For now, let's leave this ticket open, but not plan on doing until the Working Group can come to it.
@m-rit there are lots of other tickets on the backlog though, if you want to contribute feel free to pick up another. Thanks!


studio: rework handling of multiple SDLC instances

Summary

[x] Closes #149

How did you test this change?
Added/Updated integration tests

@akphi  can we add a screenshot of the dropdown config :)

Of course, it's only fair :) Updated


nmstate.gpg: Add gpg key of maintainer Fernando Fernandez Mancera

Add gpg public key of Fernando Fernandez Mancera to nmstate.gpg:

Fernando Fernandez Mancera<EMAIL_ADDRESS>708DFB13CBED9AB39449DBFB41C04120C297B594

@tyll @EdDev Need your approval.


Fix the differences between the README, the example, and the classes provided in the AAR

I got an email with useful feedback regarding the discrepancy between our README and the classes that we provide in the sdk.

In instantiating the SpeechToText instance, the README uses new SpeechConfiguration().  This is also what the example application does.  However, the AAR does not contain the SpeechConfiguration class.  The method signature implied by the README is initWithContext(URI, Context, SpeechConfiguration).

The method signature in the AAR is initWithContext(URI, Context, boolean).  The boolean here represents isUsingVad but the documentation makes no mention of what "Vad" is, how it should be used, etc.

This is one of the inconsistencies I've found in the SDK.  The very next step in the README is setCredentials(username, password) - but in the AAR does not contain this method.  Is it instead broken out to two methods, one for user and one for password.

It goes on and on like this (ISpeechDelegate vs SpeechDelegate, setModel(String) which does not exist at all in the AAR, etc.).

@germanattanasio , I think this feedback corresponds to the Android SDK not the iOS one. Can you please check.
thank you
Dani


Can ktrain be used for sentence pair classification task ?

How can we use ktrain for sentence classification task using bert models ?
For example, classify whether the given pair of sentence are similar.
sentence 1 : He said the food service pie business doesn 't fit the company 's long-term growth strategy .
sentence 2 : The food service pie business does not fit our long-term growth strategy .
label : 1 (similar)

Yes, sentence pair classification is supported.  Please see this example notebook on paraphrase detection.  Note that you'll need to install ktrain >= 0.15.1 for it to work.


Rename the file

Docs Build status updates of commit f62eecc:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/DocsLegal-pr.es-MX, working directory: W:\40zp-s, target branch: HEAD, target branch commit: 803e6b09915d9493bc55c93b47b66bc377002184, source commit: f62eecc72c7ea2cc8d707f58b13d52752dc71b8e.

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