Are lazysizes plugins also supported with this module?

I would like to use data-bg option for lazy loading background images. Is this currently possible with nuxt-lazysizes?

I would like to use data-bg option for lazy loading background images.

Hi, unfortunately at the moment this is not possible without additional configuration.
But I think I’ll add a feature that will give you the ability to enable desired lazy-plugins.
For now, you can try something like this:
Create a new lazyBg.client.js file in the plugins/ directory.
// plugins/lazyBg.client.js

import lazyBg from 'lazysizes/plugins/unveilhooks/ls.unveilhooks'
export default lazyBg

Enable it in the nuxt.config.js
// nuxt.config.js

{
  plugins: [
    '~/plugins/lazyBg.client.js'
  ],
}

Use data-bg attribute to lazyload background images

I would like to use data-bg option for lazy loading background images.

Hi, unfortunately at the moment this is not possible without additional configuration.
But I think I’ll add a feature that will give you the ability to enable desired lazy-plugins.
For now, you can try something like this:
Create a new lazyBg.client.js file in the plugins/ directory.
// plugins/lazyBg.client.js

import lazyBg from 'lazysizes/plugins/unveilhooks/ls.unveilhooks'
export default lazyBg

Enable it in the nuxt.config.js
// nuxt.config.js

{
  plugins: [
    '~/plugins/lazyBg.client.js'
  ],
}

Use data-bg attribute to lazyload background images

That would be great. Thanks for the tip. Nice work thou!

That would be great. Thanks for the tip. Nice work thou!

I’ve added a new plugins feature so you can easily extend the default lazysizes config and enable additional plugins.
For example, if you want to use the data-bg option, simply enable the unveilhooks plugin in nuxt.config.js:
// nuxt.config.js

{
  lazySizes: {
    plugins: {
      unveilhooks: true
    },
  }
}

Available in: 1.2.0
Docs: Extra plugins (optional)
Examples: Plugins

I’ve added a new plugins feature so you can easily extend the default lazysizes config and enable additional plugins.
For example, if you want to use the data-bg option, simply enable the unveilhooks plugin in nuxt.config.js:
// nuxt.config.js

{
  lazySizes: {
    plugins: {
      unveilhooks: true
    },
  }
}

Available in: 1.2.0
Docs: Extra plugins (optional)
Examples: Plugins

That's awesome. Thank you very much.

That's awesome. Thank you very much.

No problem, glad to help.
I'll close this because a new plugins feature has been added which resolves this request.

No problem, glad to help.
I'll close this because a new plugins feature has been added which resolves this request.


Prompt message check

Prompt message to prevent page reloading or navigation to another page if a user didn't finish his post, comment, article or discussion

Has conflicts and build error.
Try to fix them and reopen and ask for PR please.


[FLINK-16454][build] Update the copyright with 2020 year in NOTICE files

What is the purpose of the change
The current copyright year is 2014-2019 in NOTICE files. We should change it to 2014-2020.
Brief change log

Update the copyright from 2014-2019 to 2014-2020 in NOTICE files

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Thanks for the review @carp84 ! I will merge it after travis green, also merge it into release-1.10 and release-1.9


[Suggestions] integration with WebWorkers and more

1- It would be cool if physics computations could be run in separate threads (assuming the physics are run in the CPU instead of the GPU) via Web Workers, this way the main thread responsible for rendering would be able to handle more physics enabled game objects.
2- In my games as they grow more complex I always end up creating some kind of AI management system that also uses Web Workers to manage game objects behaviour, perhaps something like this could be implemented natively in the engine or as a plugin.
3- Support for unit testing outside the browser environment.
4- Leverage mature UI frameworks such as vue/react to provide basic UI widgets.

The physics library would have to be written in a specific way to take advantage of WW. If one of the libs we use is upgraded to do that, we'll incorporate those changes, although due to the locality of the data with WW I'm not sure it will happen imho. We'll keep an eye on it though and also the WASM space.


TypeError: arrayOfRgbValues.flat is not a function

When I try to run LEDController.setIndividualKeys({f:[255,255,0]}), it gives a TypeError: arrayOfRgbValues.flat is not a function. How can I fix this?

Can you please check that your Node version is v12.x or newer?

Oops. looks like I have v10.20.1. I'll try again after upgrading.

Yep. That was the issue. I'm new to node.js, Thank you for helping me!

No problem, glad I could help!


How to access the drawInMTKView cycle from MTIImageView class

In your Demo "ImageRendererViewController.m" you use the method draw(in view: MTKView)
in order to re-draw the filtered image and have an animation (ie. saturationAndInvertTestOutputImage() ).  For that to work, you use a MTKView
But in the CameraViewController.m you use MTIImageView for rendering the frames by simply assigning the .image var to it.
I wanna use MTIImageView both for Camera Frames and Static images. But in order to animate on every draw cycle my static Images, I need to access the drawInMTKView method somehow.
Is it possible if you add a callback or delegate method to MTIImageView so we can subscribe to each draw cycle ? :)

MTIImageView is designed to display a MTIImage like a UIImageView. The internal render view (MTKView) is set to paused, so even if you can access the drawInMTKView method in MTIImageView, it will not be called at a fixed interval.
If you'd like to animate something you can use a CADisplayLink, or just like the ImageRendererViewController demo, use a MTKView directly. As you can see in the demo it is also very easy to render a MTIImage to the MTKView.


SPFX site (SharePoint 2016 on-premise site with react) reloading continuously. What to do?

Category

[x] Question
[ ] Typo
[x] Bug
[ ] Additional article idea

I am trying to setup a SharePoint 2016 on-premise site with react using Yeoman generator : @microsoft/generator-sharepoint (V1.7.1).
I followed the instructions from microsoft docs only. I had referred few other resources as well for changing package modules and getting a working solution.
Need help in fixing this.
Expected or Desired Behavior

package.json file should have latest functional node modules to provide latest features and functionalities..

The loaded site view should not get refreshed continuously. and should not throw any errors.

Observed Behavior

Package.json file being created on solution creation using Yoeman generator( @microsoft/sharepoint V1.7.1) had older versions of SPFX modules (V1.1.0). I had to manually change the package.json file and then update node modules.

After following sequence of steps mentioned in Steps to Reproduce ,
SPFX site got loaded in the localhost at port 4321.
But in every 5 to 10 seconds it is getting reloaded continuously in chrome and IE as well.

Steps to Reproduce
Steps I followed :

Downgraded my Node from 10.x to 8.15.1 .Reason : 9.x or 10.x Node versions are currently not supported with SharePoint Framework development.

Install Yeoman and gulp ==> npm install -g yo gulp

Install Yeoman SharePoint generator ==> npm install -g @microsoft/generator-sharepoint .

Creating a new web part project ==> yo @microsoft/sharepoint --skip-install

After solution got created,updated package.json to following :
{
"name": "sample",
"version": "0.0.1",
"private": true,
"engines": {
"node": ">=0.10.0"
},
"scripts": {
"build": "gulp bundle",
"clean": "gulp clean",
"test": "gulp test"
},
"dependencies": {
"react": "16.3.2",
"react-dom": "16.3.2",
"@types/react": "16.4.2",
"@types/react-dom": "16.0.5",
"@types/react-addons-shallow-compare": "0.14.17",
"@types/react-addons-update": "0.14.14",
"@types/react-addons-test-utils": "0.14.15",
"@microsoft/sp-core-library": "~1.7.1",
"@microsoft/sp-webpart-base": "~1.7.1",
"@microsoft/sp-lodash-subset": "~1.7.1",
"@microsoft/sp-office-ui-fabric-core": "~1.7.1",
"@types/webpack-env": "1.13.1",
"@types/es6-promise": "0.0.33"
},
"resolutions": {
"@types/react": "16.4.2"
},
"devDependencies": {
"@microsoft/sp-build-web": "~1.7.1",
"@microsoft/sp-module-interfaces": "~1.7.1",
"@microsoft/sp-webpart-workbench": "~1.7.1",
"gulp": "~3.9.1",
"@types/chai": "3.4.34",
"@types/mocha": "2.2.38",
"ajv": "~5.2.2"
}
}

Then run ==> npm i --save ==> Ignored warnings generated along with it

After installation, run ==> gulp trust-dev-cert

Finally, run ==> gulp serve.

Hope I haven't missed anything so far for the SPFX Project setup.

We are experiencing the exact same issue.

where is the solution or help ????  i had same probelm

When you set up a solution for SharePoint 2016 FP2, you will need to use SharePoint Framework 1.1 version for the npm packages in the package.json. This is automatically done for you when you create a solution and choose the SP2016 as the target environment.
If you are targeting SP2016 Feature Pack 2, you cannot use SPFx v1.7 packages, so you should NOT do any manual updates on the package.json after the initial configuration. This is exactly why the version question is done in the Yeoman flow. You can't use 1.7 packages in SP2016 as there is also server side dependencies which are now causing you a version mismatch, which will then cause your solution execution to fail.
Please repeat the steps by creating a web part (extensions are not supported in SP2016) and not updating the package.json solution. If refresh issue still continues, please report a new issue with the repro steps. Thx.


Implement HTTP endpoints that match (and extend) the existing mqtt logic

POST /led/procedure/ --- Set new procedure
GET /led/procedure/ --- Get current procedure (type)
GET /led/procedure/all/ --- Get current procedure with data bundle
GET /led/variables/ --- Get data bundle of current procedure
PUT /led/variables/ --- Update data bundle of current procedure
GET /device/info/name/ --- Get device name from configuration
GET /device/info/ --- Get device configuration
GET /device/echo/ --- Get device echo for scanning

All endpoints are implemented


Ability to use font icons like j//ionicons

Font awesome and ionicons http://ionicons.com/ add a lot of icon options on these type of JS mobile frameworks, I would like to see the ability to use them writhin tabris.js

See #698


Mixer keeps restarting on build 0.8.0-pre20180404-09-15, missing config file

The istio-proxy container cannot find /etc/istio/proxy/envoy_mixer.json and after several times trying, the mixer pod is restarted in a loop (CrashLoopBackOff).
This is the contents of the /etc/istio/proxy dir on this build:
-rw-r--r-- 1 root root 3245 Apr  4 09:20 envoy_pilot_auth.json
-rw-r--r-- 1 root root 1914 Apr  4 09:20 envoy_pilot.json
-rw-r--r-- 1 root root 4453 Apr  4 09:20 envoy_istio_telemetry_auth.json
-rw-r--r-- 1 root root 4041 Apr  4 09:20 envoy_istio_telemetry.json
-rw-r--r-- 1 root root 4753 Apr  4 09:20 envoy_istio_policy_auth.json
-rw-r--r-- 1 root root 4536 Apr  4 09:20 envoy_istio_policy.json
For 0.7.1, it was:
-rw-r--r-- 1 root root 3245 Mar 30 19:05 envoy_pilot_auth.json
-rw-r--r-- 1 root root 1914 Mar 30 19:05 envoy_pilot.json
-rw-r--r-- 1 root root 1182 Mar 30 19:05 envoy_mixer_auth.json
-rw-r--r-- 1 root root  965 Mar 30 19:05 envoy_mixer.json
So, somehow the required json file is not there anymore.
mixer.istio-proxy.log

I think this can be closed. I believe this was fixed for 0.8.


Show progress of file upload on gallery#add_new

I can't actually test this since I don't have an environment that supports file uploads. There are a couple of other changes I want to do to uploads, too, as in #8.

Looks like it's showing progress in bytes or something? I will investigate changing this.

Okay, this works and now does it per item and also shows the number that failed! I'm happy to merge it.


Add attribute modifier notes per datajoint-python/issues/354.

2 nits:

Data-types.md link xrefs are directly to target .html files; unclear if
sphinx->recommonmark allows for more generic linking.
Apparently recommonmark passes through links to sphinx in the :any: role,
and quick tests with 'bare' document word didn't "take". Left as-is since
primary output is HTML, potentially easier to fix by simply converting page
to .rst than fiddling with md->sphinx mappings, unless somone knows the
magic incantation.
See also:

http://recommonmark.readthedocs.io/en/latest/index.html#links
http://www.sphinx-doc.org/en/stable/markup/inline.html

Documentation of 'unique index' feature is provided without concrete example;
didn't want to 'pollute' the existing 'simple' example by it's addition,
not sure if best to add here directly, or create a secondary block
duplicating the 'persons' example but also showing the use of this syntax.

I am closing this because this will be fully addressed in the revamped documentation


Anyway to remove / as the root path without Switching To REST API?

Apparently there is. I was removing the StageName property from template.yml and kept getting an error.
Instead, I set it to StageName: "$default" and the stage prefix is gone


my own code giving "Failed to authorize client skoda"

I am using your code inside my own code for Domoticz.
When I start Domoticz I get this error, if I restart my code it start to work. So my code is working and I am trying to find a way to solve the error.
Do you know a command that I can use with your code to restart the get_vehicles?
Thanks
Traceback (most recent call last):
File "/home/debian/domoticz/plugins/Skoda/plugin.py", line 70, in main
await connection.get_vehicles()
File "/usr/local/lib/python3.9/dist-packages/skodaconnect/connection.py", line 670, in get_vehicles
await self.set_token('skoda')
File "/usr/local/lib/python3.9/dist-packages/skodaconnect/connection.py", line 1666, in set_token
raise SkodaAuthenticationException(f'Failed to authorize client {client}')
skodaconnect.exceptions.SkodaAuthenticationException: Failed to authorize client skoda
<class 'skodaconnect.exceptions.SkodaAuthenticationException'>

I am using your code inside my own code for Domoticz.
When I start Domoticz I get this error, if I restart my code it start to work. So my code is working and I am trying to find a way to solve the error.
Do you know a command that I can use with your code to restart the get_vehicles?
Thanks
Traceback (most recent call last):
File "/home/debian/domoticz/plugins/Skoda/plugin.py", line 70, in main
await connection.get_vehicles()
File "/usr/local/lib/python3.9/dist-packages/skodaconnect/connection.py", line 670, in get_vehicles
await self.set_token('skoda')
File "/usr/local/lib/python3.9/dist-packages/skodaconnect/connection.py", line 1666, in set_token
raise SkodaAuthenticationException(f'Failed to authorize client {client}')
skodaconnect.exceptions.SkodaAuthenticationException: Failed to authorize client skoda
<class 'skodaconnect.exceptions.SkodaAuthenticationException'>

You can call the method connection.get_vehicles() directly. Or have I misunderstood you?
It might help if you paste relevant code snippet from your code.

Thanks for quick reply.
Please see link below
https://github.com/flopp999/SkodaConnect-Domoticz/blob/36c5aa4aa0c241e65a5b7d3cd86f059fd70be6f4/plugin.py#L70

Thanks for quick reply. Please see link below https://github.com/flopp999/SkodaConnect-Domoticz/blob/36c5aa4aa0c241e65a5b7d3cd86f059fd70be6f4/plugin.py#L70

I would, on line 70, add some error handling. The get_vehicles method should return a dict with the vehicle information. If something goes wrong it will error out. So a "simple" try: except: clause would solve it. Perhaps add a loop or something to loop with a set delay until it succeeds.

Closed this issue since it isn't related to the library.


interleaveAttributes seems would misaligned vertex data

I have such a geometry, its attributes are arranged as follows, where position, st uses quantization compression, each component uses two bytes, and normal uses oct compression, each component uses two bytes , featureId is stored in uint16.

Then I use the following API method:
VertexArray.fromGeometry({ /* ... */   interleave: true });
Among them, the vertex data arrangement method of interleave is used, and then the rendered effect is normal on the windows platform:

When I run it on the macOS system, I find that the texture is not normal, as shown in the figure below:

My macOS system is shown below:

Then I took a look at the logic of the interleaveAttributes method in VertexArray.js, as shown in the following figure:

According to the logic of this code, the data arrangement in my interleave.buffer is shown in the figure below:

According to Avoid Misaligned Vertex Data in this blog,
I rearranged the order of the names, as shown below:

Then the corresponding vertex data layout is shown in the figure below:

Then it looks normal, and the featureId is read correctly：

I don't know if this is a bug caused by the interleaveAttributes method on some platforms due to different vertex layouts

Thanks @airchik for the detailed explanation. Would you be able to contribute a PR to fix this? Also, are you able to share the dataset for testing?


Compiling problems on slackware-current gcc ++ 4.92

Hi,
I have some compiling problems with the current commit 9db2b8f2b0 .
OS is Slackware Linux Current, Compiler is GCC 4.92
Linux Kernel 3.10-7
It has some issues on building main.c, where it falls flat on basic IOlib. According to https://stackoverflow.com/questions/21138340/mismatched-c-header-versions it has something to do with the compiling command in the Makefile.
In file included from /usr/include/c++/4.9.2/i486-slackware-linux/bits/c++config.h:430:0,
from /usr/include/c++/4.9.2/iostream:38,
from include/config.h:10,
from include/downloader.h:24,
from main.cpp:7:
/usr/include/c++/4.9.2/i486-slackware-linux/bits/os_defines.h:44:19: error: missing binary operator before token "("
#if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
^
In file included from /usr/include/c++/4.9.2/cwchar:44:0,
from /usr/include/c++/4.9.2/bits/postypes.h:40,
from /usr/include/c++/4.9.2/iosfwd:40,
from /usr/include/c++/4.9.2/ios:38,
from /usr/include/c++/4.9.2/ostream:38,
from /usr/include/c++/4.9.2/iostream:39,
from include/config.h:10,
from include/downloader.h:24,
from main.cpp:7:
/usr/include/wchar.h:74:43: error: missing binary operator before token "("
if defined __cplusplus && __GNUC_PREREQ (4, 4)
...
                      ^

In file included from /usr/include/libio.h:56:0,
from /usr/include/stdio.h:74,
from /usr/include/c++/4.9.2/cstdio:42,
from /usr/include/c++/4.9.2/ext/string_conversions.h:43,
from /usr/include/c++/4.9.2/bits/basic_string.h:2850,
from /usr/include/c++/4.9.2/string:52,
from /usr/include/c++/4.9.2/bits/locale_classes.h:40,
from /usr/include/c++/4.9.2/bits/ios_base.h:41,
from /usr/include/c++/4.9.2/ios:42,
from /usr/include/c++/4.9.2/ostream:38,
from /usr/include/c++/4.9.2/iostream:39,
from include/config.h:10,
from include/downloader.h:24,
from main.cpp:7:
/usr/include/stdio.h:942:1: error: expected declaration before '}' token
__END_DECLS
^
make: *** [obj/Debug/main.o] Error 1
Full error log on Pastebin:
http://pastebin.com/raw.php?i=yfH48Ev4

Do older versions compile or do they also give the same error?

I traced the problem back to the json library.
Slackware does not have a package for the libjson, so I thought it would be this library:
http://slackbuilds.org/repository/14.1/libraries/jsoncpp/
(  Homepage: https://github.com/open-source-parsers/jsoncpp )
I guess it is the wrong library, but which one is the correct one lgogdownloader uses?

That's the correct library
I'm guessing the issue is caused by this in the SlackBuild
# Move incude directory because it conflicts with json-c.
# This is how Arch, Fedora, Ubuntu and Gentoo do it.
[ -d $PKG/usr/include/json ] && mv $PKG/usr/include/json $PKG/usr/include/$PRGNAM

That statement isn't actually correct.
Debian and Ubuntu have json-c in /usr/include/json-c and jsoncpp in /usr/include/jsoncpp/json
Arch has json-c in /usr/include/json-c and jsoncpp in /usr/include/json
Because the include directory gets moved to /usr/include/jsoncpp it causes issue mentioned in the stackoverflow discussion.
You should be able to fix this by editing the SlackBuild so it uses /usr/include/jsoncpp/json
[ -d $PKG/usr/include/json ] && mv $PKG/usr/include/json $PKG/usr/include/$PRGNAM/json

or by making few changes to lgogdownloader
sed -i -e "s;<json/;<jsoncpp/;g" main.cpp src/*.cpp include/*.h
sed -i -e "s; -I/usr/include/jsoncpp;;" Makefile

Did compile now after applying the latter sed modification to lgogdownloader and satisfying the other dependencies ... (rhash, your Makefile does not install the symlink for the library and the .a file sigh)
lgogdownloader compiles (and seeming to work now).
Thank you!


How to control the number of threads when running sequential with Keras

I try to run sequential with Keras; I found that the thread running sequential model generated about 13 sub-threads. How to control the number of sub-threads?
part of my code:
model = Sequential()
model.add(...)
.....
model.compile(loss='binary_crossentropy', optimizer=params['optimizer'])
model.fit(.....)
Please help me with this problem. Thanks in advance!

More detail to be added, the backbench for my Keras is Tensor Flow.

This is what I use.
from keras import backend as K
import tensorflow as tf

config = tf.ConfigProto(intra_op_parallelism_threads=args.jobs, \
                        inter_op_parallelism_threads=args.jobs, \
                        allow_soft_placement=True, \
                        device_count = {'CPU': args.jobs})
session = tf.Session(config=config)
K.set_session(session)


Migrate from AndcultureCode.JavaScript.React.Components to hcd-javascript monorepo

Migrate from https://github.com/rsm-hcd/AndcultureCode.JavaScript.React.Components to https://github.com/rsm-hcd/hcd-javascript
Instructions to pull git history over: https://stackoverflow.com/a/14992078/203857

git subtree add --prefix=packages/javascript-react-components https://github.com/rsm-hcd/AndcultureCode.JavaScript.React.Components.git main

Pushing into the backlog.  Not sure this package is even needed anymore


doc: improve README to try operator-sdk

Description of the change:
To avoid confusion for new user trying operator-sdk, Improve README and replace example with <username>.
Also add step to login to public registry like quay.io. If user is not logged in through CLI, He will face following error
quay unauthorized: access to the requested resource is not authorized
After login push work seamlessly.
Motivation for the change:
This will improve user experience for trying operator-sdk for the first time.

/lgtm


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/90849

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/102921

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/107051


Update vendor deps to use semver

This PR updates glide.yaml to use semver for specifying dependencies. (It also updates glide.lock and vendor).
Verification
$ make
# should succeed

# confirm:
$ rm -rf vendor
$ make install-deps
$ should succeed

tested ok


Credentials variable error

Something strange is happening when I try and reuse a Credential variable against this cmdlet.
$Cred = Get-Credential
$Name = "server01"
Get-WindowsFeature -ComputerName $Name -Credential $Cred #Command 1
Get-winEvent -ComputerName $Name -Credential $Cred -MaxEvents 1 -LogName application #Command 2
Get-WindowsFeature -ComputerName $Name -Credential $Cred #Command 3
Get-winEvent -ComputerName $Name -Credential $Cred -MaxEvents 1 -LogName application #Command 4
Commands 1, 2, and 4 work as expected. Command 3 fails with this error:
Get-WindowsFeature : The WinRM client cannot process the request. Requests must include user name and password when Basic or Digest authentication mechanism is used. Add the
user name and password or change the authentication mechanism and try the request again.
At line:1 char:1

Get-WindowsFeature -ComputerName $Name -Credential $Cred

  + CategoryInfo          : NotSpecified: (:) [Get-WindowsFeature], CimException
  + FullyQualifiedErrorId : Microsoft.Management.Infrastructure.CimException,Microsoft.Windows.ServerManager.Commands.GetWindowsFeatureCommand

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

ID: b8b3d536-027d-e21d-f160-42c2c2d02191
Version Independent ID: 1408677c-e0ff-aaad-f84e-d97351461a62
Content: Get-WindowsFeature (servermanager)
Content Source: docset/winserver2012r2-ps/servermanager/Get-WindowsFeature.md
Product: powershell
GitHub Login: @brianlic
Microsoft Alias: brianlic

Hello, @ChrisParrBIE thank you for providing feedback.
Note that the issue tracker of this repository is intended for product documentation issues only.
Please consider opening a support ticket for product issues and bugs via the following link,
PowerShell UserVoice
You can also check relevant resources and ask the community regarding your problem via PowerShell Community,
PowerShell Community
Thanks.

@officedocsbot close


Python: pip 10 release

Issue description
In a month or 2 Pip 10 will be released. We should check whether our packages still build with this new version before it is released.

Experimenting at https://github.com/FRidh/nixpkgs/tree/pip10

From https://hydra.nixos.org/eval/1403669 I conclude there is no issue (yet) for us with the upcoming pip 10.

pip 10 also improves determinism when installing wheels: https://github.com/pypa/wheel/issues/183#issuecomment-346646467

pip 10 has been merged a while ago.


Fix native symbol lookup failure

When we updated the build scripts to use the new 2.0 CSPROJ format
we lost the fact that we emed the Interop code for the Interop.Dia2lib.dll
This caused any native symbol lookups to fail (since it is needed to interface to msdia140.dll)
It is not clear that the new build system supports embedding Interop code but we
did not really need it (We coudl just load the interop DLL for real).   However for this
to work the DLL needs to be named Dia2Lib.    It is unclear why this DLL was named
Interop.Dia2lib.dll before so we are just going to change it.
Do do this rename, we need to update the Support library package (since Interop.Dia2lib.dll
is in there), and then update to refrence the new version (with the rename).
@sharwell - if you are interested, having a test that confirms that fails if native symbols don't get lookup up would be valuable.

Codecov Report

Merging #352 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #352   +/-   ##
=======================================
  Coverage   16.29%   16.29%
=======================================
  Files         199      199
  Lines      112704   112704
  Branches    11246    11246
=======================================
  Hits        18365    18365
  Misses      93544    93544
  Partials      795      795

Flag
Coverage Δ

#2017
16.29% <ø> (ø)
:arrow_up:

#Debug
16.29% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

src/TraceEvent/Symbols/SymbolReader.cs
0% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Create 0x57feaF956Da144C3A46366b4b0e0572264bEE6c3.json

read content from here
https://github.com/tomochain/tokens

read content from here
https://github.com/tomochain/tokens


Fewer chunks failing while uploading Zip and TIF files

Tried zipping few files using windows powershell and uploading using resumable, but upload fails with 403 error for few specific chunks only (repeatedly). Although, when zipped using 7zip or any other zip tool, the file uploads successfully.
Similar issue observed in case of TIF file type, a few specific chunks always fail with 403 error while uploading through resumable.

@shashankshekher-bh Yes, it happened to me also.


Obtain raw content of posts without being authenticated

I'm making a web application that calls the REST API to gather posts, users, etc. and then displays this information. Users of the site will be able to read posts without being logged in. The issue is that the REST API doesn't return the raw post content for unauthenticated GET requests.
This means that I must parse the rendered content, and in many cases remove styling, tags, CSS classes, and other attributes before having content that makes sense for me to render. My app is using React, so this type of parsing is important because I'm converting this text representation of elements into React components. For more info on this, I've been using html-react-parser to help with this task. But even with this parsing process in place, I still must deal with the tags and tag hierarchy that is given to me by the Wordpress editor.
This parsing step seems like the wrong long term approach. The best possibility seems to be to get the raw post content and use that as my starting point for generating whatever representation of that content I want in the webapp. But I can't rely on people being logged in, since the site is basically a news site where the vast majority of users will only visit to read content.
Is it possible to allow for raw content to be passed along in unauthenticated requests?

It is possible, but you'd have to write some plugin code in the PHP side. Either you could use a filter to add in the raw content to the post, or make a custom endpoint to surface that data. This is an acknowledged weakness of the API that is an unavoidable side effect of the traditional web publishing orientation of WP's history.
As a caveat, many sites that I've seen have proprietary information latent in their short codes that they may not want exposed. If this is something you'd be distributing to sites you don't control id suggest making it totally clear that raw post content will be publicly available.

Creating a plugin that changes the filter so that raw content is returned seems like the best approach for my situation. Thanks for pointing me in this direction! I assume this is the best source of information on this task.

If anyone finds this later, here is the plugin that does basically what is described above. The only issue now is the raw data is also not in a very usable format, but this is a different issue. I discuss what I'm hoping to do about this here.


feat: Problem with course menu position on iPad and in Landscape mode on iPhone

[iOS] Problem with course menu position on iPad and in Landscape mode on iPhone #234
During that ticket was added accessibility injection for increase font size inside webview that depends on accessibility font size.
Paddings based on readability content size that will increase if user will reduce font size and will reduce if user will increase font size.
Demo video

Portrait Changes

Before
After

Landscape Changes

Before
After

@saeedbashir  We are all just waiting for your review. Please take a look. Thank you.

Not sure, but we might have two course cards in one row in case of iPad, just like we have it on production app.

@rnr ^^^

@forgotvas Could you please correct the alignment of Or sign in with and Or register with on sign-in and register screens?
I'm not sure how the is working. Although it's look good, but there is enough content in case of Privacy Policy, etc and it left space empty space on both sides. The same is the case with HTML based blocks. But the discover and program web views uses full available space.

Hi @saeedbashir,

Do you want it to be centered?
In iOS 9 apple introduced readabilityContentGuide https://developer.apple.com/documentation/uikit/uiview/1622644-readablecontentguide#discussion and dynamic type. They made that release to make user easily be read without forcing users to move their head to track the lines. Some old tutorial.
In guidelines apple wrote:

Modify the built-in text styles if necessary. System APIs define font adjustments — called symbolic traits — that let you modify some aspects of a text style. For example, the bold trait adds weight to text, letting you create another level of hierarchy. You can also use symbolic traits to adjust leading if you need to improve readability or conserve space. For example, when you display text in wide columns or long passages, more space between lines (loose leading) can make it easier for people to keep their place while moving from one line to the next. Conversely, if you need to display multiple lines of text in an area where height is constrained — for example, in a list row — decreasing the space between lines (tight leading) can help the text fit well. If you need to display three or more lines of text, avoid tight leading even in areas where height is limited. For developer guidance, see leading(_:).

We didn't touch discovery and programs tabs because there not a content type it's more like browser so it should be on full screen.

Not sure, but we might have two course cards in one row in case of iPad, just like we have it on production app.

@rnr ^^^

@forgotvas I think we could try this approach. Thank you

Do you want it to be centered?

How about aligning it to other content like textfields?

Done:

Not sure, but we might have two course cards in one row in case of iPad, just like we have it on production app.

@rnr ^^^

@forgotvas I think we could try this approach. Thank you

@sergeymomot please create ticket for that

@forgotvas please resolve the conflicts

@volodymyr-chekyrta, done


Update dependencies, fix clippy warnings

Brings all dependencies in Cargo.toml up to their latest versions, fixing breaking changes where necessary. Most of the changes were automated by clippy. There is one instance, caused by the semver upgrade to 1.0, where the removal of a method meant I had to parse from an &str, but this shouldn't cause any performance degradation.
I also added #[ignore] to the long-compilation tests, as running them locally was taking over 240 seconds (on Ubuntu 20.04, Ryzen 5 1600, 32GB) and I assumed they were hanging and thus would break CI.

Awesome, thanks a lot!


Drop Pod Not Appearing

Drop pod doesn't appear on WaterRidge when purchasing items.
Also, I can't scan main entrance on WaterRidge.
P.S I think it would be a cool idea if the company had it's own moon. I see that it's the same as Experimental.

ye it's normal, theres no drop pod on the map
drop pod and ladders are two of the next features in the SDK

ah I see. hope it get's added soon. love your map! ❤

Added in 1.2.0

Omg! Yes finally!  Yes finally! You freaking rock dude! 🤜🤛

still not sync on the network, i try to fix it


DBI-76: Upgrading Jena libraries to 4.8.0

Comments from Vanessa:
try the 11 sources for the maven-javadoc and test.
remove org.json
move the Jena version as a variable in pom
Add a comment on pom on the jena runtime dependencies. Try the scope runtime and see if they work out
add jakarta and jaxms - to the mapr dependency
Seperate the xstream checkin
move the woodstox to latest version to be included.
add dependencies to bindist-mapr.xml
Compressed RDF
remove spaces in the import
Change all riotexception to Exception. bigger umbrella to catch and log. Eg. if mlcp already ingested 10k files and fails in mid it would be bad. So skipping the file and continuing is the best.
Take out the implements runnable.


Add Composer support

Composer is a package manager for PHP. This allows Apollo to be downloaded by putting "toddmotto/apollo" into your own composer.json file.

@tomjanssens could you please elaborate on what tasks a developer would have to perform to have /vendor expose js and css assets? I use composer + npm + bower but bower writes the assets to public/lib


feat(drawer): add a new prop(adjustable) so that the drawer can adjust its width/height

这个n-tree测试用例没跑过,


question about projection of 3d point generated from TSDF

Hi @andyzeng
I'm trying to use your code (tsdf2mesh.m function) to generate the 3d point cloud.
From MSR 7-scene dataset, when I project the 3d point cloud generated by your function into image domain, it shows some misalignment. It could be my mistake (I considered extrinsic pose between depth and color camera).
Have you tried your function for MSR 7-scene dataset? or any suggestion for this kind of procedure?

Hello! Yes, the function should work for the MSR 7-scene dataset. In fact, the RGB-D frames used in the demo code is actually from the redkitchen sequence from the 7-scene dataset :)
Personally, I have not tried back-projecting the 3D point cloud back onto the image domain. However, upon revisiting tsdf2mesh.m, I noticed a bug where the mesh being saved was still in voxel coordinates rather than camera coordinates. I've pushed a fix for this in the latest commit. I wonder if that will fix your problem.

Thanks for quick reply, @andyzeng
Still, there is a few issues.

binary file of MSR 7-scene dataset does not have "tsdfHeader". Thus I just got the value from *.mhd, but still, it doesn't have truncMargin, etc. and your code does not use truncMargin.

With some modification, I could align them roughly but it still has misalignment (please see attached image file, red point cloud from tsdf, other color points from depth. you can see some misalignment at the pumpkin).

Do you have any advice to figure this issue out?

I see, I had misunderstood your original question. You were asking about whether the tsdf2mesh function works for the binary voxel volume files of the MSR 7-scene dataset. I haven't tried that myself, so I don't know all of the details behind setting it up.
Although, from looking at your misaligned point cloud, I'm guessing that the problem is in your camera pose, or voxel volume offset. From the description on the dataset's website, they quote "The spacings and offsets in millimeters are provided in the header file." Does your current implementation use those offsets?

Yes, I'm using the offsets in millimeters.


KAFKA-3749, fix "BOOSTRAP_SERVERS_DOC" typo

Thanks for the PR. That's an unfortunate typo. That class is a public class and there is a note:

NOTE: DO NOT CHANGE EITHER CONFIG NAMES AS THESE ARE PART OF THE PUBLIC API AND CHANGE WILL BREAK USER CODE.

I suggest you keep the old typoed variable (deprecated) and have it point to the new one.

@ijuma done.

@ijuma Does this matter since it is not config names, but just doc strings?

@guozhangwang, yeah, I think we should be strict when it comes to compatibility of API classes that don't have the Unstable annotation. It's hard to explain and understand, otherwise.

@ijuma updated

Yeah, this is probably one of the more embarrassing mistakes we have :) @ijuma last update seems like it addresses compatibility and cleans things up. LGTM, but do you also want to take a look? I'd suggest also filing a follow up for removing the deprecation and incorrect spelling in a future release -- if we're deprecating, we should also have a plan for removal.

Yes LGTM too. JIRA for removal sounds good. It may make sense to have a general JIRA per release with some pointers instead of one per deprecation. We should actually go through the code and evaluate all deprecations for each release cycle.

I filed https://issues.apache.org/jira/browse/KAFKA-3763 to remind us to remove all deprecated APIs before the next major release.

Merged to trunk.


Error

Error
[By starting the server this Error appear]
Detailed Information
Is available here

PEX v1.22.x are not compatible with Spigot 1.8 because spigot updated Guava from 10 to 17.
For Spigot 1.8, you have to use PEX v1.23.x

What he ^ said.


Indexes that include % do not work

The problem
See #2523 and #2502.
Suggestions
Work with htmlify.p6 and see what can be done about it...  Also refs #1823

Related: #2535 #1823

This works now in the new version of the doc generation.


git clone hangs

When using git clone with github's user/repo format it expands to git://github.com/user/repo.git and git hangs indefinitely:
$ GIT_TRACE=1 git clone github/hub
11:36:26.288215 exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Applications/Xcode.app/Contents/Developer/usr/bin/git
11:36:26.288683 exec-cmd.c:236          trace: resolved executable dir: /Applications/Xcode.app/Contents/Developer/usr/bin
11:36:26.288751 git.c:418               trace: built-in: git clone git://github.com/github/hub.git
Cloning into 'hub'...
^C

Is it possible to expand it to git@github.com:user/repo.git?
$ GIT_TRACE=1 git clone git@github.com:github/hub.git
11:36:49.269936 exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Applications/Xcode.app/Contents/Developer/usr/bin/git
11:36:49.270427 exec-cmd.c:236          trace: resolved executable dir: /Applications/Xcode.app/Contents/Developer/usr/bin
11:36:49.270497 git.c:418               trace: built-in: git clone git@github.com:github/hub.git
Cloning into 'hub'...
11:36:49.281851 run-command.c:643       trace: run_command: unset GIT_DIR; ssh<EMAIL_ADDRESS>'git-upload-pack '\''github/hub.git'\'''
11:36:50.679794 run-command.c:643       trace: run_command: git index-pack --stdin -v --fix-thin '--keep=fetch-pack 6366 on bln23020716.local' --check-self-contained-and-connected
remote: Enumerating objects: 33, done.
remote: Counting objects: 100% (33/33), done.
11:36:50.692600 exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Applications/Xcode.app/Contents/Developer/usr/libexec/git-core/git
remote: Compressing objects: 100% (29/29), done.
11:36:50.693297 exec-cmd.c:236          trace: resolved executable dir: /Applications/Xcode.app/Contents/Developer/usr/libexec/git-core
11:36:50.693899 git.c:418               trace: built-in: git index-pack --stdin -v --fix-thin '--keep=fetch-pack 6366 on bln23020716.local' --check-self-contained-and-connected
remote: Total 17558 (delta 2), reused 15 (delta 1), pack-reused 17525
Receiving objects: 100% (17558/17558), 5.37 MiB | 9.00 MiB/s, done.
Resolving deltas: 100% (11318/11318), done.
11:36:51.371004 run-command.c:643       trace: run_command: git rev-list --objects --stdin --not --all --quiet '--progress=Checking connectivity'
11:36:51.373115 exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Applications/Xcode.app/Contents/Developer/usr/libexec/git-core/git
11:36:51.373528 exec-cmd.c:236          trace: resolved executable dir: /Applications/Xcode.app/Contents/Developer/usr/libexec/git-core
11:36:51.373870 git.c:418               trace: built-in: git rev-list --objects --stdin --not --all --quiet '--progress=Checking connectivity'

Is it possible to expand it to git@github.com:user/repo.git?

The SSH protocol for clone operations (i.e. the<EMAIL_ADDRESS>URL format) will automatically be used if:

user/repo is a private repository; or
you have write access to user/repo.

Since neither of these is true for you and the github/hub repo, the git:// protocol will be used for cloning. This should work. If it doesn't work, this is still not a bug with hub, but with something in your git setup or your network preventing clones via git: protocol. Make sure that command git clone git://github.com/github/hub.git works for you locally (this command skips hub entirely).
When debugging, avoid using GIT_TRACE for now as hub has some bugs with it that were fixed in master branch but not yet released: https://github.com/github/hub/commit/0be001f76dbdbc3a2382c2f9b3928b7740953bdf. You can use HUB_VERBOSE instead.
Alternatively, you can skip both the SSH and git: protocol and have hub generate HTTPS URLs for you:
git config --global hub.protocol https

You will have to set up git credential caching.

The SSH protocol for clone operations (i.e. the<EMAIL_ADDRESS>URL format) will automatically be used if:

user/repo is a private repository; or
you have write access to user/repo.

Why not use for repositories with read-only access? I don't get it. Still works with ssh protocol, and user could been granted later with write permissions.
Would it be possible to add setting for overriding hub.protocol with ssh procotol? Managing https credentials with git just only for github would be a little bit PITA, especially on linux & windows machines.
I really would prefer an option to force ssh protocol all the time. :/

There something probably with the network, as the git is from the Xcode, and .gitconfig contains nothing special, just name/email and reference to global gitignore.
$ GIT_CURL_VERBOSE=1 GIT_TRACE=1 HUB_VERBOSE=1 command git clone git://github.com/github/hub.git
18:36:45.639567 exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Applications/Xcode.app/Contents/Developer/usr/bin/git
18:36:45.640094 exec-cmd.c:236          trace: resolved executable dir: /Applications/Xcode.app/Contents/Developer/usr/bin
18:36:45.640171 git.c:418               trace: built-in: git clone git://github.com/github/hub.git
Cloning into 'hub'...
fatal: unable to connect to github.com:
github.com[0: <IP_ADDRESS>]: errno=Operation timed out

I don't know, is it shitty ISP, corporate network or retrograde mercury.
dtrace.log
I can try to debug it, but currently I have no ideas how to tackle this issue.

@mislav fixed it in gitconfig :)
[url "git@github.com:"]
    insteadOf = git://github.com/

Still, the additional possible value to hub.protocol would be nice to have.

@mk0x9 I'll consider adding an "always-ssh" config option when I'm reworking this whole part of the configuration next.

Great, thanks!


Proper postgrey usage

I see some issues here:

According to the manpage, we are supposed to use https://postgrey.schweikert.ch/pub/postgrey_whitelist_clients per default. I cannot find this anywhere in docker-mailserver.
Edit: found the files in /etc/postgrey, but according to https://linux.die.net/man/8/postgrey the default filepath is /etc/postfix/postgrey_whitelist_clients and I cannot see this being overridden anywhere in docker-mailserver.

Logging seems weird. See #1276

Why is there no /var/spool/postfix/postgrey database in my running container? I would like to persist it.

I would like to start a discussion about this here and then fix things up...

Hi,
for information have a look at the start-mailserver.sh script:
https://github.com/tomav/docker-mailserver/blob/7f3fe45a838715ea82bb449eb14b50ca6861c2b9/target/start-mailserver.sh#L761
You can add a whitelist_clients.local file to your config directory that is mounted into the container (See Wiki) which is then copied to /etc/postgrey/ on container startup.
Nevertheless this doesn't answer your question about the directory (postgrey vs postfix) and the logging issue you referenced.
Cheers

With ONE_DIR=1 I get /var/mail-state/lib-postgrey with the database files persisted. If you don't want to use ONE_DIR you need to find out where the files are and manage your own volumes.

To answer your initial questions

"the default filepath is /etc/postfix/postgrey_whitelist_clients"
As this image is based on debian take a quick look at the postgrey man page of debian:
 --whitelist-clients=FILE     default: /etc/postgrey/whitelist_clients So no need to change this path as it is the distributions default-
Use the whitelist_clients.localfile as described in my previous comment to add your own definitions.

"Logging seems weird"
See the issue you referenced. For now there is no solutions for the missing timestamps. Possible fixes and further information should be discussed there.

"I would like to persist it."
See @erik-wramner comment. Use ONE_DIRE=1 with the proposed volume - mailstate:/var/mail-stateto persist that data. (I initially thought that doesn't work properly but this was related to moving my setup to another host and loosing that data due to permission and ownership problems. Can confirm it works now).

I think this issue can be closed then.

Agree with almost everything!

According to the manpage, we are supposed to use https://postgrey.schweikert.ch/pub/postgrey_whitelist_clients per default. I cannot find this anywhere in docker-mailserver.

This is still unclear to me. Is docker-mailserver using this as a default or am I supposed to add this manually?

You can add a whitelist_clients.local file to your config directory that is mounted into the container (See Wiki) which is then copied to /etc/postgrey/ on container startup.

Add it in your config directory if you want to edit it.

thanks

Mmmh, I think I am not happy with that yet. It seems that  docker-mailserver uses an outdated postgrey version and therefore also an outdated whitelist
root@mx0:/etc/postgrey# postgrey --version
postgrey 1.36

root@mx0:/etc/postgrey# cat whitelist_clients
# postgrey whitelist for mail client hostnames
# --------------------------------------------
# put this file in /etc/postgrey or specify its path
# with --whitelist-clients=xxx
#
# postgrey version: 1.36, build date: 2015-09-01

i suppose, the old postgrey version is due to the fact, that the update to debian 10 hasn't happened yet, right?
But how about integrating the more recent whitelist? Would make sense, right?

If you take a look at the debian postgrey page (or madison) you will see that between stretch (the current stable image) and buster is not even a minor version step of postgrey
 postgrey | 1.32-6.1       | squeeze           | source, all
 postgrey | 1.33-3~bpo60+1 | squeeze-backports | all
 postgrey | 1.34-1.1       | wheezy            | source, all
 postgrey | 1.35-1         | jessie            | source, all
 postgrey | 1.36-3+deb9u2  | stretch           | source, all
 postgrey | 1.36-5.1       | buster            | source, all
 postgrey | 1.36-5.1       | bullseye          | source, all
 postgrey | 1.36-5.1       | sid               | source, all

Used in the container (confirm the list above):
root@mail:/etc/postgrey# apt-cache policy postgrey
postgrey:
  Installed: 1.36-3+deb9u2
  Candidate: 1.36-3+deb9u2
  Version table:
 *** 1.36-3+deb9u2 100
        100 /var/lib/dpkg/status

I installed the buster package of postgrey on a separate machine to check the differences in postgreys whitelist_clients:
wernerf@BETA:~$ apt-cache policy postgrey
postgrey:
  Installiert:           1.36-5
  Installationskandidat: 1.36-5
  Versionstabelle:
 *** 1.36-5 500
        500 http://de.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        100 /var/lib/dpkg/status

The content (head):
wernerf@BETA:~$ head /etc/postgrey/whitelist_clients
# postgrey whitelist for mail client hostnames
# --------------------------------------------
# put this file in /etc/postgrey or specify its path
# with --whitelist-clients=xxx
#
# postgrey version: 1.36, build date: 2015-09-01

I even put it into a diff tool, but the only difference was the command i used to list the content:

So you cannot expect a newer version of whitelist_clients even if the image will be  updated to buster in future.
If you personally have a newer whitelist then feel free to add it like shown in my previous answer:

You can add a whitelist_clients.local file to your config directory that is mounted into the container (See Wiki) which is then copied to /etc/postgrey/ on container startup.

This will not override the default whitelist but add your additional entries.
Any further questions?

If you take a look at the debian postgrey page (or madison) you will see that between stretch (the current stable image) and buster is not even a minor version step of postgrey

Yeah, I never understood debian's super conservative update strategy. I mean, why holding back an update which was released more than 3 years ago?

So you cannot expect a newer version of whitelist_clients even if the image will be updated to buster in future.

I haven't tried the most recent postgrey version yet, but with the updated whitelist, my experience is way way better. This is why I was suggesting integrating the more recent whitelist into docker-mailserver automatically.
I know, this project is aiming for stability and does not want to integrate new things quickly, but I think the world moves too fast to hang out with 3 years old software ;)
Anyways, if there is any interest on the maintainer's side here, I am happy to provide pull requests ;)

but with the updated whitelist, my experience is way way better.

Can you link to the whitelist you are talking about? I am interested myself and want to check the differences to the version 1.36-5.1 which is default in debian/buster.
Can you also tell how you define better? I mean we are talking about a whitelist here, not a blacklist. Do you have so many cases where the initial mail contact gets delayed?
Cheers

Can you also tell how you define better?
It's my impression. Not waiting for emails since using the 2019 whitelist.

I mean we are talking about a whitelist here, not a blacklist.
Don't get the point. It's annoying to wait for emails, especially 2FA codes and stuff.

Do you have so many cases where the initial mail contact gets delayed?
Yes, this is why I am creating this topic. Trying to improve the overall experience.

Can you link to the whitelist you are talking about?
http://postgrey.schweikert.ch/pub/

This issue was closed due to one or more of the following reasons:

Age
Contributor inactivity
The issue seems to be resolved

If you think this happened by accident, or feel like this issue was not actually resolved, please feel free to re-open it. If there is an issue you could resolve in the meantime, please open a PR based on the current master branch so we can review it.


[Feature] disentangle pilot branch

Description

Checklist
Please feel free to remove inapplicable items for your PR.

[x] The PR title starts with [$CATEGORY] (such as [Doc], [Feature]])
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage
[x] Code is well-documented
[x] To the my best knowledge, examples are either not affected by this change,
or have been fixed to be compatible with this change
[x] Related issue is referred in this PR
[ ] If the PR is for a new model/paper, I've updated the example index here.

Changes

This feature is ready.

This feature is finished.

This feature is ready.


Widget for Sequence of Strings

- Do you want to request a feature or report a bug?
feature
- What is the current behavior?
I am interested in using Netlify CMS to manage a Hexo blog. I have it working except for one pretty major issue. Hexo expects the tags and categories in the front matter to be a sequence of strings.
There is no widget, as far as I can tell that will allow me to create a sequence of strings. I found the (previously documented, though now undocumented) List widget and attempted to use that. However, that appears to make a sequence of objects. Is it possible to use that widget to make a sequence of string?
- If the current behavior is a bug, please provide the steps to reproduce.
- What is the expected behavior?
There should be a widget that allows you to make a variable sized list of strings that aren't part of an object.
- Please mention your node.js, and operating system version.
hexo: 3.2.2
hexo-cli: 1.0.2
os: Darwin 15.6.0 darwin x64
http_parser: 2.7.0
node: 6.9.4
v8: 5.1.281.89
uv: 1.9.1
zlib: 1.2.8
ares: 1.10.1-DEV
icu: 57.1
modules: 48
openssl: 1.0.2j

I think the list widget should work as you want if you leave out the "fields" attribute

It doesn't seem to. When I set the widget to list as in
collections: # A list of collections the CMS should be able to edit
  - name: "posts" # Used in routes, ie.: /admin/collections/:slug/edit
    label: "Post" # Used in the UI, ie.: "New Post"
    folder: "source/_posts/blog" # The path to the folder where the documents are stored
    sort: "date:desc"
    slug: "{{year}}-{{month}}-{{day}}-{{slug}}"
    create: true # Allow users to create new documents in this collection
    fields: # The fields each document in this collection have
      - {label: "Title", name: "title", widget: "string", tagname: "h1"}
      - {label: "Thumbnail", name: "thumbnail", widget: "image", class: "image"}
      - {label: "Body", name: "body", widget: "markdown"}
    meta: # Meta data fields. Just like fields, but without any preview element
      - {label: "Publish Date", name: "date", widget: "datetime"}
      - {label: "Categories", name: "categories", widget: "list"}
      - {label: "Tags", name: "tags", widget: "list"}
      - {label: "Layout", name: "layout", widget: "hidden", default: "post"}

I get really odd list behaviour as shown in

Where I can not seem to click and edit the values in the list anywhere.

@Kasuko you can create a widget to do what you're looking for - here's some documentation on how: https://www.netlifycms.org/docs/extending/#registerwidget
If you need help, please reach out on Gitter!


[Feature] Enhanced rendering of blob outputs based on mime types

Motivation: Why do you think this is important?
Workflows sometimes generate output that is more complex than just a series of numbers/text. A common use case is to generate plots of data to help visualize the result of a model. These are usually created by setting the output type of a Workflow to Blob and filling in the format field to indicate the file type.
It would be useful and more efficient for users if Flyte Console supported rendering certain blobs natively based on the format field.
Examples:

Common image formats could be loaded directly in the browser.
HTML documents could be loaded in an iframe.

Goal: What should the final outcome look like, ideally?
Workflows which output a blob with a known format will have a link/button in the UI to expand. Clicking this will attempt to load the blob at the given URL and display it in the browser.
Describe alternatives you've considered
We have previously discussed creating custom rendering components for various task types, which would allow us to natively generate plots and other types of output. This would provide ultimate flexibility in terms of user interaction. But it is prohibitively complicated and blurs the line of responsibility for Flyte. Additionally, many tools already exist and are commonly used to generate these visual outputs in recognizable formats. We only need to provide a way to host the output.
Flyte component

[ ] Overall
[ ] Flyte Setup and Installation scripts
[ ] Flyte Documentation
[ ] Flyte communication (slack/email etc)
[ ] FlytePropeller
[ ] FlyteIDL (Flyte specification language)
[ ] Flytekit (Python SDK)
[ ] FlyteAdmin (Control Plane service)
[ ] FlytePlugins
[ ] DataCatalog
[ ] FlyteStdlib (common libraries)
[x] FlyteConsole (UI)
[ ] Other

[Optional] Propose: Link/Inline
High-level pieces:

Blob format fields specify a proper mime type instead of an arbitrary string which only has meaning to the user. We need to decide how much to force this, whether or not Flyte will attempt to detect and set mime types, etc. For now, it's probably okay to just document the behavior and leave it up to users to specify the correct mime type in order to enable native rendering in Console.

Alternatively, console could attempt to do mime-type detection. But that requires fetching the blob, so it's not ideal.

Add support to console for visualizing a blob. This could be as simple as a modal overlay that attempts to load the provided content in whatever way is most appropriate for the mime type.

We may have to adjust how inputs/outputs are rendered at the WorkflowExecution level, since they are already shown in a modal and we don't want to show an additional modal on top of that.

@wild-endeavor we need to ensure that the blob format is also added as a header to the objects stored in s3/gcs etc

It looks like the s3 head operation will return the contenttype that you set on upload. https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html
Is this what you were thinking?  I think it accepts arbitrary strings.  My vote is to just store whatever format is in the Blobtype in that field.

It looks like the s3 head operation will return the contenttype that you set on upload. https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html
Is this what you were thinking? I think it accepts arbitrary strings. My vote is to just store whatever format is in the Blobtype in that field.

Yes, In flytekit we should provide a few constants (I guess they can just be http mime types that)
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
It seems there is a mimetypes library that can also be used to guess the output type if not provided
https://docs.python.org/3/library/mimetypes.html

The format should be applied to

Type declaration
runtime metadata
header of the object

Not sure I understand what 1. 2. and 3. are.
I don't know how I feel about guessing file-types, nor translating file types to content-types.  do we really want to do this?


Label watermark for chinese

/unsafe/600x600/smart/filters:label(春节,center,center,60,ff0000,50)/
/unsafe/600x600/smart/filters:label(%E6%98%A5%E8%8A%82,center,center,60,ff0000,50)/
i got the wrong result

I guess it's a problem of missing Chinese fonts. You can try installing a Chinese font and see if it works.for example: fonts-wqy-zenhei


Please move HAProxy logo to "CNCF member products/projects" section

Don't create an issue
If you see an error in the cards or missing ones, please don't create an issue here. Instead, edit landscape.yml (you can even do it via the GitHub web interface) and open a pull request. Then, review the preview staging server that's posted to your pull request and add a comment if your new or updated card looks correct and is ready to merge. Before going forward, please carefully review the sections of the Readme covering new entries, corrections, and logos: https://github.com/cncf/landscape/blob/master/README.md.

Resolved just now with https://github.com/cncf/landscape/commit/00dedd8d77a6c160d7626ce8180cfe8aa418f39c
https://landscape.cncf.io/selected=ha-proxy
Welcome to CNCF. And thanks again to Willy for his help setting up an up-to-date mirror.


Don't use pathlib in test

What's the problem using pathlib?

It doesn't work with asdf in Python 3.5, which the 2.7.x series still supports


Remove duplicate mnemonics

CHERI is defined to have different mnemonics for capability mode and legacy mode.
This has been controversial as it causes big changes in the assembler code and the software tools. It also has a big effect on the documentation, extending the document by many pages.
A change in assembly format is inevitable between the modes but it should be minimised.
This came up when discussing RISC-V integration with the RISC-V management - how much work is involved to port new extensions to CHERI? For Vector, for example, it is required to add many new mnemonics as there are so many loads and stores which need cxxx names, and so this need to be simplified.
Therefore the proposal is as follows:
All load/stores/atomics/CBOs/prefetches have the same mnemonic in capability and legacy modes.
currently we have e.g.
legacy mode: ld rd, offset(rs1)
capability mode: cld rd, offset(cs1)
the proposal is that the capability mode syntax will become:
capability mode: ld rd, offset(cs1)
so the operand type continues to be distinguished by rs1/cs1 but the mnemonic remains the same.
I'm proposing to continue using c as the capability datatype so lc/sc etc.
cincoffset[imm] becomes add[i]
legacy mode: add rd, rs1, rs2; add rd, rs1, imm
capability mode: add cd, cs1, rs2; add cd, cs1, imm
cmove becomes mv
legacy mode: mv rd, rs1
capability mode: mv cd, cs1
auipcc becomes auipc
legacy mode: auipc rd,  imm
capability mode: auipc cd, imm
cjalr and becomes jalr
legacy mode: jalr rd, rs1, offset
capability mode: jalr cd, cs1, offset
and we no longer need jalr.cap/jalr.pcc in the assembler, they can be inferred by
legacy mode: jalr cd, cs1, 0
capability mode: jalr rd, rs1, 0
i.e. zero offset and referring to the data-type from the other mode
A note on Store conditional
sc -> store cap
sc.<type> -> store conditional of  which can be c, so sc.c is valid for store conditional of a capability

Strong agree for memory access instructions.  Less sure about overloading add/addi/mv.
The move from RV32 to RV64 sets the precedent of reusing mnemonics for the "same" operation on a different size of data, but where there are two different operations, like add or addw, they are distinguished by mnemonic.
Is it OK for "jal symbol" and similar pseudoinstructions to access pcc and cra without naming either capability?

I agree that unifying most of those mnemonics is a good idea.
However, I am concerned about cincoffset vs add. cincoffset does not have the same encoding as add, so these are in fact different instructions and their mnemonics must be different.

cincoffset vs add is the same argument as add vs addi where they are distinguished by operand type
add rd, rs1, rs2
add rd, rs1, imm <-- different opcode
the big motivation behind renaming cincoffset[imm] to add is to simply show the path from (e.g.) old function prologues and epilogues. it is, after all, an add.
for RV32:
add sp,sp,-96
sw ra,92(sp)
sw s0,88(sp)
sw s1,84(sp)

becomes
add csp, csp, -192
sc ra,184(csp)
sc s0,176(csp)
sc s1,168(csp)

so the code looks very familar - that's the intention.
we can of course choose another mnemonic for cincoffset[imm] but it must not look alien like the current one.

Is it OK for "jal symbol" and similar pseudoinstructions to access pcc and cra without naming either capability?

in capability mode than jal symbol will indeed link to cra if it's not named and assumed.

Not really adding much, but throwing in my opinion/observation:
If we follow the rv32->rv64 change in base ISA:
l(bhwd) rd, rs(##)
Is brought right over unchanged; the implied type of rs grows from 32 bits to 64 bits as that is the only address size supported in that mode.  If we strictly followed that lead, we wouldn't even change the name of the register operand.
add rd, rs1, rs2
Changed the inferred type to the new xlen, and we grew a addw for the legacy data type.  If we're explicitly keeping xlen=64, then maybe the most sensible thing is to grow an addc for clen?
jalr rd, rs
Changed the implied PC width without changing the mnemonic, as xlen addresses (including PC addresses) are all that exist in the new base ISA.  Following that pattern, we would just reuse jalr rd, rs directly.
I don't actually know what the advantage of using a different register alias (c#  rather than r#) is for purecap.  I guess it's a bit alien to risc-v?  Though obviously not strange from an x86 perspective.  I like the explicitness of it, but we're used to different instructions operating on different widths of the same register name (addw vs add, or sb vs sd).

using c for registers is alien, thats's true, but I think it makes sense
ld rd, offset(rs1)
lc cd, offset(rs1)
lc cd, offset(cs1)
all do different things, and I think they're all quite clearly specified by the syntax.
and I think addc is ok as a mnemonic.
do you think this makes sense @jonwoodruff
legacy mode: jalr cd, cs1, 0
capability mode: jalr rd, rs1, 0
so we can be explicit about which type we are jumping to and linking to?

Thanks for writing this up @tariqkurd-repo! This has come up in many discussions over the past years and I much prefer the Morello approach of the instruction being determined by the register argument over a prefixed instruction. Since the type of operation is still indicated by the register we also don't lose intentionality and risk assembly code that is not ready for CHERI being accepted by the compiler without the required changes.
Since the load/store instructions are never both available to the assembler it is also unambiguous even if we were to reuse rs1 vs cs1, but I think being explicit that we are using the C registers is much nicer.
Regarding addc, that mnemonic is sometimes used for operations with using the architectural carry bit (e.g. Arm ADDC), so it could be confusing to developers coming from the Arm ecosystem but it's probably fine. The C suffix is also less confusing since it does not look similar to the compressed c.add.
I also think having the jaland ret pseudos being mode dependent aliases would also be nice since it reduces developer friction.

One thing to bear in mind here is that LLVM's assembly parser assumes that the instruction can be uniquely determined from the mnemonic and first operand, which wouldn't be true in this case, and so needs hacks to make it work. It can be done though, as evidenced by Morello, and LLVM's internals today shouldn't overly influence ISA design, they're mostly a reflection of what has historically been required.

I personally wouldn't add the C suffix for ADDC though, that really does risk confusion (though it's ADC in x86 and our CHERI-x86 sketch has ADDC be capability add with an explicit operand size...). The reason you need ADDW is that you can't name the 32-bit sub-register, but we can disambiguate between X and C, so don't need such a suffix.

cincoffset vs add is the same argument as add vs addi where they are distinguished by operand type
add rd, rs1, rs2
add rd, rs1, imm <-- different opcode

I and at least several others regard the second form as a GNU binutils bug which is preserved for compatibility.  You will not find add with immediate in any RISC-V specification, both the ISA manual and the assembly programmer's manual use

addi rd, rs1, imm

exclusively.
That said, the topic of this bug is "Remove duplicate mnemonics".  I don't see anyone here objecting to removing the duplicate mnemonics for instructions that keep the same encoding and behavior, so why not focus on the part with consensus here and have a separate issue for assembly-level register intentionality?

cincoffset vs add is the same argument as add vs addi where they are distinguished by operand type
add rd, rs1, rs2
add rd, rs1, imm <-- different opcode

I and at least several others regard the second form as a GNU binutils bug which is preserved for compatibility. You will not find add with immediate in any RISC-V specification, both the ISA manual and the assembly programmer's manual use

addi rd, rs1, imm

exclusively.
That said, the topic of this bug is "Remove duplicate mnemonics". I don't see anyone here objecting to removing the duplicate mnemonics for instructions that keep the same encoding and behavior, so why not focus on the part with consensus here and have a separate issue for assembly-level register intentionality?

Because none of them are duplicate mnemonics, they are different instructions that share the same encodings and are very closely related. It's all just shades of the same question.

OK - to summarise -

we are proposing dropping the c prefix from load/stores/atomics/CBOs, so e.g.

legacy mode: lw rd, offset(rs1)
cap mode: lw rd, offset(cs1)

we are proposing keeping c as the data type for load/stores/atomics/CBOs, e.g.

legacy mode: lc cd, offset(rs1)
cap mode: lc cd, offset(cs1)

we are proposing distinguishing between  jalr types by operand

legacy mode: jalr cd, cs1, 0; #currently jalr.cap
legacy mode: jalr rd, rs1, offset; #currently jalr
capability mode: jalr rd, rs1, 0; #currently jalr.pcc
capability mode: jalr cd, cs1, 0; #currently cjalr
jalr.pcc/jalr.cap does need a name for the mnemonic, even if it's not required by the assembly syntax. Any suggestions? We could keep jalr.pcc/jalr.cap for the mnemonics and just update the assembly syntax

cincoffset[imm] need to map to something including the word add

add cd, cs1, rs2
addi cd, cs1, imm
seem acceptable? the mnemonic still needs a name though, maybe addcap/addcapi?

Once this renaming has been completed we can also delete most of "Table 43. Mnemonics with the same encoding but mapped to different instructions in Legacy and Capability Mode"

Once this renaming has been completed we can also delete most of "Table 43. Mnemonics with the same encoding but mapped to different instructions in Legacy and Capability Mode"

that table is auto-generated in python so the contents mostly will just disappear as I progress with the renaming.

https://github.com/riscv/riscv-cheri/pull/109
merged


814: Pre-generated waveform on MultiCanvas and zoom doesn't fill out each canvas

For #814.

Thanks! I'll release asap.


TXT output doesn't produce markdown-compliant paragraphs

Currently, paragraphs in txt format are returned as follows:

Text of paragraph 1
Text of paragraph 2

However, in order to be compliant with markdown formatting rules for paragraphs (and thus allowing for correct rendering), there should be an empty line between paragraphs:

Text of paragraph 1
Text of paragraph 2

Can this be fixed?

Thanks for your feedback, there is still an ambiguity as the output is not officially Markdown but TXT with Markdown elements depending on the configuration.
So yes, it can be fixed and would be an occasion to address this setting.


Missing resources from helmfile.tpl/helmfile-init.yaml

Currently templates from helmfile.d are rendered and validated by the following commands otomi template, otomi validate-templates
The helmfile.tpl/helmfile-init.yaml is not taken into account but is used by otomi deploy command.
The otomi template and otomi validate-templates should take into account the additional helmfile.tpl/helmfile-init.yaml file in order to  ensure quality of all the manifests that are produced.

The solution has been already provided.
The otomi validate-templates takes  helmfile.tpl/helmfile-init.yaml into account

So can this be closed then @j-zimnowoda ?

Yes


FIX AIMBOT IM SILVER 4 AND NEED AIMBOT

Hello pls someone fix the aimbot it doesnt work PLS FIX i need fast i need aimbot i cant shoot pls fix aimbot im silver 4 pls fix aimbot i cant aim healp. TY for fixing aimbot

Go to Entity.h and change indexes of two functions:
getInaccuracy() : 482
getWeaponData() : 460


Fix build job of integration tests

The integration test pipeline's build job rebuilds the image of the integration tests and pushes it in the ingest component's quay.io and image.
ebi-ait/dcp-ingest-central/issues#605
Also related to ebi-ait/dcp-ingest-central#571

I believe I've fixed this. Here are the changes I made: https://github.com/ebi-ait/ingest-integration-tests/compare/893aa9b..11d6774

@MightyAx to update the ticket

I made a change to the build configuration to allow manual retrying on integration test builds.
This was important because a failed build meant that integration tests were trying to pull a docker container that did not exist.
Upon making the change the automated build was successful without having to retry and the integration tests began successfully pulling the container.

@aaclan-ebi pushed some changes but there were issues with gitlab. More investigation is needed, not sure if it's related to this issue.
@MightyAx will create a ticket about the issue


USERS_WHITELIST should let STAFF members to signup

Keep in mind that when releasing 1.0 we'll need to make STAFF app admins (as in 'system-wide') and let forums know who are their admins.


Code examples url lead to a 404

Describe the issue or suggestion
I am new to this doc and observed that a lot of code snippet examples give a 404 Not found when the link is clicked.
For instance on this page on Abstract and Sealed Classes, the snippets linked at the starting give 404. Snippet

This code snipped link gives this 404 like the rest of the links to code snippets-

The code links don't work in the GitHub browser. It's best to view the published documentation instead, for example: https://learn.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/abstract-and-sealed-classes-and-class-members.


Fluent configuration needs explicit validate() call

As opposed to the previous validation implementation, the new one needs an explicit validate() call to trigger reporter callbacks. It would be very inconvenient to validate manually. One could argue that we should always have a proper class with decorators, but this is very limiting and violates the 'aurelia' way of unobtrusiveness

Definitely what do you think is the best way for the developer to indicate that they want to watch the properties?  @jdanyow any thoughts on this?
this.validator = validator.ensure//...
this.validator.watchProperties();

or by default it reports or some other way?  Any thoughts @MaximBalaganskiy ?

since decorators watch properties by default wouldn't it make sense to watch them by default in the fluent setup? Can't really think of a case when I didn't want to watch automatically... to support it though I could call this.validator.watchProperties(false) or introduce a configuration in ensure.
Or may be even this.validator = validator.ensure(this.model, "Name").watch(false|true) to scope it to a particular field.

I think that's a reasonable assumption. I do think we should revisit this and see if we can make it a bit cleaner.

I wonder if we should separate the observation from the rule definition.  Instead of making the decorators create a getter/setter for the object, maybe it should just create validate-js constraints we push into a validationRules property on the prototype.
Likewise, instead of the fluent API taking the model as a parameter, maybe it should just setup a rules/constraints array.
Specifically, this:
import {Validator} from 'aurelia-validatejs';

export class Something {
  static inject = [Validator];

  constructor(validator) {
    this.model = new AnotherModel();
    this.validator = validator
      .ensure(this.model, 'firstName')
        .required()
        .length({minimum: 3, maximum: 10})
      .ensure(this.model, 'lastName')
        .required();
  }
}

would change to something like this:
import {Constraints} from 'aurelia-validatejs';

export class Something {
  constructor() {
    this.validationRules = Constraints
      .ensure('firstName')
        .required()
        .length({minimum: 3, maximum: 10})
      .ensure('lastName')
        .required();
  }
}

This would separate the rules from the property observation characteristics.  Then we could create some sort of observer that would need a model, some rules, and the validator implementation and would talk to the reporter?
Does any of this make sense?

@jdanyow It makes perfect sense! This would allow creating rules and switching a model without the need to rerun validation configuration. Although, I would still need to call a method to hook rules to whatever object instance I have

@jdanyow That's a really interesting idea. The trick is that we want some core infrastructure that can work regardless of what validation library is used. So, in all of this, keep in mind not just validate-js but also breeze. That's to very different apis that we'd like to tie into the same system with the validate behavior, reporters and renderers.

Also, keep in mind that validation should work independent of the view as well, for server-side scenarios.

But maybe it works something like this:

Validation Library configures the model (could be just metadata)
Validate behavior observes whatever property it's set on. When that changes it locates a validation engine.
The Validate behavior tells the validation engine to validate the changed property.
The validation engine publishes the error info result to a reporter.
Renderers subscribe to the reporter and display validation info.

In the above case, the Validate behavior, validation reporter and error info are all core pieces. Any number of renderers could be implemented. The main thing we need is a validation engine locator that finds the validation-library-specific mechanism for validating things when a property changes. So, everyting else is shared. We just need the validation engine implemented for each validation library. It would register itself with a locator, kind of the way that the binding engine allows for binding adapters.

Just thinking out loud here.

Making binding behavior watch a binding and calling validation sounds like a good solution.

how about something like this:

Rule Definition

using decorators:
export class Person {
  @required lastName;
}

now instances of Person have a validationRules property
using fluent API:
import {Constraints} from 'aurelia-validatejs';

export class Person {
  constructor() {
    this.validationRules = Constraints
      .ensure('lastName')
        .required();
  }
}

now instances of Person have a validationRules property
using the fluent API without a class:
import {Constraints} from 'aurelia-validatejs';

const validationRules = Constraints
  .ensure('lastName')
    .required();

Validating an object (no UI involved):

class instance with validationRules property (created via decorators or fluent API):
import {ValidationEngine} from 'aurelia-validatejs';
import {Person} from './person';

@inject(ValidationEngine)
export class Something {
  constructor(validationEngine) {
    let person = new Person();
    let validationErrors = validationEngine.validate(person);
    // or
    let validationErrors = validationEngine.validateProperty(person, 'lastName');
}

validating pojo and specifying rules
import {ValidationEngine, Constraints} from 'aurelia-validatejs';

@inject(ValidationEngine)
export class Something {
  constructor(validationEngine) {
    let person = { lastName '' };
    const rules = Constraints
      .ensure('lastName')
        .required();

    let validationErrors = validationEngine.validate(person, rules);
  }
}

Composing a user interface

class instance with validationRules property (created via decorators or fluent API):
import {ValidationEngine} from 'aurelia-validatejs';
import {NewInstance} from 'aurelia-dependency-injection';
import {Person} from './person';

@inject(NewInstance.of(ValidationReporter))  // or use @inject(ValidationReporter) to retrieve reporter higher up in the UI hierarchy
export class MyViewModel {
  constructor(reporter) {
    this.consumer = new Person();
    this.emergencyContact = new Person();
    this.primaryPhysician = new Person();
    reporter.observe(this.consumer, this.emergencyContact, this.primaryPhysician);

    // optional:  keep reference to reporter's validationErrors array (eg to create a validation summary panel):
   this.reporter = reporter;
}

<template>
  <require from="bootstrap-validation/form-group-validation-behavior" as="validate"></require>

${e.message}

  <input value.bind="consumer.lastName & validate">
  <input value.bind="emergencyContact.lastName & validate:{ helpText: true }">
  <input value.bind="primaryPhysician.lastName & validate">
</template>

//  bootstrap-validation plugin:  form-group-validation-behavior.js
import {ValidationBindingBehaviorBase} from 'aurelia-validation';
import {FormGroupRenderer} from './form-group-renderer';

@inject(FormGroupRenderer)
export class FormGroupValidationBindingBehavior extends ValidationBindingBehaviorBase {
  constructor(renderer) {
    this.renderer = renderer;
  }
}

//  bootstrap-validation plugin:  form-group-validation-renderer.js

export class FormGroupRenderer {
  render(validationError, element, options) {
    .....
    .....
    if (options && options.helpText) {
      ....
    }
    ....
  }

  unrender(validationError, element, options) {
    .....
    .....
    ....
  }
}

another binding-behavior/renderer for use with bootstrap tables
//  bootstrap-validation plugin:  form-group-validation-behavior.js
import {ValidationBindingBehaviorBase} from 'aurelia-validation';
import {TableRenderer} from './table-renderer';

@inject(TableRenderer)
export class TableValidationBindingBehavior extends ValidationBindingBehaviorBase {
  constructor(renderer) {
    this.renderer = renderer;
  }
}

//  bootstrap-validation plugin:  table-validation-renderer.js

export class TableRenderer {
  render(validationError, element, options) {
    switch(options.mode) {
      case 'cell':
        // ...
        break;
      case 'row':
        // ...
        break;
      case 'column':
        // ...
        break;
    }
  }

  unrender(validationError, element, options) {
    .....
    .....
    ....
  }
}

So reporter.observe is the thing which will watch properties change?

right- I'm proposing that reporter.observe(object) or reporter.observe(pojo, rules) would have logic to observe the object's property changes and evaluate the ruleset accordingly.  We could even have options for the reporter that turn of property observation, allowing developers to call reporter.validate() if they wanted to validate manually (eg only when the user presses submit or something)

Seems like it will work for me :)

@jdanyow I like everything expect I've got one nitpick. I'd like to avoid having to create a new binding behavior for each renderer if possible. I think we should think about how we could have a single validate behavior that somehow accessed a renderer. Maybe we have a custom element (noView) for a renderer that pushed itself into the overrideContext with a special key and then the valiate behavior looks for that. I don't know. Would be cool if there was some way to separate these a bit more. Everything else looks awesome.

@jdanyow You've proposed a handful of major changes to the way that things work so just going to respond one change at a time to make sure they were all intended -

person.validationRules - we mentioned a few times that we wanted to keep from polluting the object with properties by instead having the ability to retrieve a ValidationConfig by the object from metadata instead of relying on each object to have it's own validationRules properties.  For this reason we probably want to keep the rules there.

Right now we have two classes - ValidationEngine and Validator.  We've talked that there is some overlap there but last time was that ValidationEngine should implement a createValidator static method to return the validator so there is only one class (ValidationEngine) we are asking developers to import in to their files.

The validate method on the config object already takes an optional key to only return results of an object that are pertinent to the caller - https://github.com/aurelia/validatejs/blob/master/src/validation-config.js#L6 - this may actually end up being brittle because it could potentially report out issues that are only for a property to all subscribers, though I'd have to try it out to be sure.  This is from moving everything to be a part of the ValidationEngine like you show above.

Right now the reporter is also retrievable independent of the instance currently so it's not required for the developer to tell it to observe the various objects.

On the binding behavior / renderer piece - do you think it would be more simple to observe the changes by default unless the developer does something like this -

this.validator = validator(this.person).dontObserve().ensure('firstName').required()

This does include a breaking change to the validator usage as described here - https://github.com/aurelia/validatejs/issues/17

Taking @PWKad 's feedback and combining it with the ideas from @jdanyow along with my own twist:

Rule Definition

using decorators:
export class Person {
  @required lastName;
}

using fluent API (non-polluting):
import {ValidationRules} from 'aurelia-validatejs';

export class Person {
  constructor() {
    ValidationRules.for(this)
      .ensure('lastName')
        .required();
  }
}

using the fluent API without a class (capture or pollute):
import {ValidationRules} from 'aurelia-validatejs';

const validationRules = new ValidationRules()
  .ensure('lastName')
    .required();

Validating an object (no UI involved):

class instance with hidden validation metadata
import {ValidationRules} from 'aurelia-validatejs';
import {Person} from './person';

export class Something {
  constructor() {
    let person = new Person();
    let validationErrors = ValidationRules.validate(person);
    // or
    let validationErrors = ValidationRules.validateProperty(person, 'lastName');
}

validating pojo
import {ValidationRules} from 'aurelia-validatejs';

export class Something {
  constructor() {
    let person = { lastName '' };
    const rules = new ValidationRules()
      .ensure('lastName')
        .required();

    let validationErrors = rules.validate(person, rules);
    // or
    let validationErrors = rules.validateProperty(person, 'lastName', rules);
  }
}

For composing the user interface, I'd like to see if we can have a single ValidateBindingBehavior that was used, but could gain access to user-specified renderers. I'm not 100% clear on the best way to do that for all scenarios yet.

So, in this case, I think each validation library would provide its own reporter. The general api needs to be able to find a reporter for any given object.

Right now adding validation to class, pojo, property of a class via current validation (both decorators and via fluent API) -
import {required, Validator} from 'aurelia-validatejs';

export class MyViewModel {
  @required viewModelName = '';
  description = '';
  person = { firstName: 'Billy' };
  personTwo = new Person();
  static inject = [Validator];
  constructor(validator) {
    this.validator = validator
      .ensure(this, 'description')
        .date();
    this.secondValidator = new Validator()
      .ensure(this.person, 'firstName')
        .required();
  }
}

class Person {
  @required firstName = 'Jeff';
}

Right now the main thing that is missing in the reported issue is a way for the fluent API to check for changes when a property changes instead of having to call validate manually.  If you want to watch for changes in any bindingBehavior, view-model, etc... all you should need to do is ask the ValidationEngine for the correct reporter -
import {ValidationEngine} from 'aurelia-validatejs';

export class MyViewModel {
  constructor() {
    this.reporter = ValidationEngine.getReporter(this);
    this.reporter.subscribe(result => {
      // handle results
    });
  }
}

This is really intuitive at the moment because, to me, the user can continue to use Aurelia's binding system in any manner in which it chooses, the validation library simply won't know about the need to re-validate until the user actually sets the property, either manually or from HTML using binding behaviors, signals, or whatever else they want.
To get over the hump we can extract out property observation and by convention we observe the property and re-evaluate the object on change no matter if it was set up through decorators, through the fluent API, or however else.  Then we would simply only need a way to configure plugin wide or on a per-validator basis to not observe for changes.
Second point on renderers
I think after going back you've nailed a nice easy way to implement custom renderers and tie them to a binding behavior @jdanyow .  By extending the base renderer where the functionality is and simply using an abstraction of that form-group-binding-behavior that sets the renderer then it doesn't even force someone to use DI to set the renderer, they could create their own binding behavior that resolved the renderer from wherever they wanted.  Much more extensible, right?  If that sounds good I'll probably copy the relevant conversation pieces over here and implement the property observation stuff for now over in this issue
Abstracting out the validation rules
I don't see what the gain would be over current to switching to a ValidationRules object with static methods that returns results directly instead of simply listening to the reporter as it does now (which is super clean and has async support) but perhaps we can move the high-level discussion to a new issue so we can close this out to commonize the two behaviors?

Ok...but maybe we can find a way to do this without inheritance ;) Maybe using a decorator like custom elements do.

and a convention

Sounds good, I'll wait for a thumbs up from @jdanyow as well.
Sorry another point I forgot - perhaps we can also augment the reporter by allowing the user to create or use an existing reporter and listen to additional objects to help accomplish the scenario where a developer may want a single reporter to watch for validation errors for multiple objects, but again, I think we can open a separate issue for that.  May need a bit of tweaking as well because currently the reporter is polluting the object so maybe it's something like reporter.observe(this.otherObject) like mentioned above which actually adds a new reporter to __validationReporters__ (instead of __validationReporter__ currently) so you can listen for changes to multiple objects with a single reporter.  Again, I can push this over to a new issue to continue discussion on that point.

@PWKad I think what Jeremy is saying is that you don't need to have multiple behaviors, just to get the renderer...because the behavior itself can now get access to the view.container property and use DI to resolve the view scoped renderer. So, the end user can declare that globally for the app...or could override that for their view model and the behavior would access whatever the "closest" render was. So, I think it's even simpler.
However, if someone wanted to, they could always inherit and do something custom.

I talked with @jdanyow this morning and I think the next logical step here is as follows -
So if we remove property-observer.js from being used in the decorators the decorators and fluent API are now only in charge of adding rules to the config.  We can hook property-observer.js back in directly to the bindingBehavior to have the behavior continue working again but from the bindingBehavior instead of from the installation of the rules by decorator or fluent API.  Once that is complete the only way for the view-model to trigger validation again is by calling validatorInstance.validate();
The binding behavior for now will be in charge of property observation and disposing of that subscription.  This should fix this issue and I think set us up to get the renderer from DI and reporter from the context. I'm timid to break them out in to a completely separate library yet because it's already a pain to develop on two libraries (validation and validatejs) so perhaps just creating a mono-repo for now that holds both aurelia-validatejs and aurelia-validatejs-templating and shares tooling would be best to encourage others to continue contributing.
Any qualms with this approach?

I say, go for it! 😄

Do it to it man! This looks fantastic

It might be worth considering turning the validation repo into the mono repo that holds all three parts.

This is fantastic discussion. I do have one suggestions though. Validation rules for the class need not be defined at the constructor level.
I propose Instead of this
import {ValidationRules} from 'aurelia-validatejs';

export class Person {
  constructor() {
    ValidationRules.for(this)
      .ensure('lastName')
        .required();
  }
}

Allow this
import {ValidationRules} from 'aurelia-validatejs';

export class Person {
}
function(){
    ValidationRules.for(Person)
      .ensure('lastName')
        .required();
  }
}();

The advantage of this approach is that the validation rules are being defined at the metadata level (possibly reuse the config metadata used for decorators) and are only needed to be executed once, instead of executing at every instantiation. Also it nicely decouples the validation rules from the class core logic, as well as provides ability to define the validation rules at a different place (e.g. at startup).

@ppn2 that makes sense- the decorator version of rule definition works like that, probably makes sense to make the fluent version do the same.
@PWKad thoughts?

this is implemented in the alpha: http://blog.durandal.io/2016/06/14/new-validation-alpha-is-here/


Input Custom Validation

I want us to hook up the option for custom validation.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/setCustomValidity
It should work in a way where I can provide an attribute for instance pattern-validation-message="Please provide a value that is all uppercase." the same should go for any other validation pattern-required, pattern-min-length, pattern-max-length. It would also be very cool if I can do both that and validation-messages=[{type: 'required', message: 'This input needs to be populated!'}]. That's because based on if it's used from modular or manually different approaches are more convenient.
Can you also please identify where in other form elements we can extend with this functionality and open tickets?

[ ] Input
[ ] Checkbox
[ ] Chips
[ ] Multiselect
[ ] Radio
[ ] Select
[ ] Textarea


Luasnip autotrigger and postfix can not work

Make sure you have done the following

[X] I have updated to the latest version of blink.cmp
[X] I have read the README

Bug Description
Luasnip autotrigger and postfix can not work.
Relevant configuration
snippets = {
      expand = function(snippet)
        require("luasnip").lsp_expand(snippet)
      end,
      active = function(filter)
        if filter and filter.direction then
          return require("luasnip").jumpable(filter.direction)
        end
        return require("luasnip").in_snippet()
      end,
      jump = function(direction)
        require("luasnip").jump(direction)
      end,
    },
    sources = {
      default = { "luasnip", "lsp", "path", "buffer", "lazydev" },
      cmdline = function()
        local type = vim.fn.getcmdtype()
        -- Search forward and backward
        if type == "/" or type == "?" then
          return { "buffer" }
        end
        -- Commands
        if type == ":" then
          return { "cmdline" }
        end
        return {}
      end,
    },

neovim version
NVIM v0.10.0
blink.cmp version: branch, tag, or commit
main

There's already an issue for postfix #533, and you didn't explain or provide an example for autotriggered snippets, or what's wrong with the them. It sounds like Luasnip should be handling that anywho