wasm compilation not working

Version
1.0.0
Description
WASM compilation currently only works if you compile the example in examples/ethers-wasm while its still inside the main ethers-rs repo. If you copy the entire contents of the folder somewhere else, compilation will fail with dozens of errors relating to the meo crate (I think it is a dependency of tokio). It seems that any crate the imports ethers-rs fails this way when compiling to wasm in my testing.
Here is what the errors look like: https://pastebin.com/BwcEi9Zk

for some reason tokio is pulled in if you directly depend on ethers.
however I've checked all default features and tokio usage in all subcrates which should be ignored for the wasm target, however iirc there are some issues with mutually exclusive cfg(condition) and cfg(not(condition)) cfgs, which could be relevant here.

This is still reproducible if you have ethers-wasm as a workspace member. I.e. create folder with the following Cargo.toml:
[workspace]
members = ["ethers-wasm"]

And then try to
cargo build -p ethers-wasm --target wasm32-unknown-unknown

This will try to compile ~70 additional targets and in the end produces the same huge list of errors related to mio.
Probably caused by https://nickb.dev/blog/cargo-workspace-and-the-feature-unification-pitfall/

Running into the similar issue here. Our project has one crate for smart contracts where it contains foundry-generated contract bindings, and another crate which uses those bindings and compiles to wasm with wasm-bindgen. The same sets of errors related to mio are reported when running cargo build.


add splash:scroll() method

QT web page has nice scrolling functions they could be easily used in Splash via Lua.

what are advantages of these functions over scroll = splash:jsfunc('window.scroll')?

good question. splash:scroll could be easier to use and more intuitive but you're right that this functionality is already available in Splash via splash:jsfunc(), so probably we can live with that


As a user, I should be able to delete an unsent campaign to prevent myself from later accidentally sending it

I couldn't figure out a way to delete an unsent campaign. I am worried I might unthinkingly send out an old campaign to 700k people, so it would be best if there was a mechanism for deleting it completely to eliminate that possibility.

@QuincyLarson In the current version, I think the application disables the send buttons on completed campaigns. I also tried to enable the button on client side and send, to test how it is handled on server side. But I couldn't really send the mail even after enabling the button

Oops. I just understood what you meant. I missed the word "unsent". Actually, I just thought about this use case.
So, when a user creates a campaign and it's ready and then when he plans to send it, he might notice a mistake in the email. And he might want to delete it. So, I think it's better to provide a delete campaign feature if it's an unsent campaign and also, the delete should be confirmed instead of a single click delete to prevent accidental deletes.
cc @AndrewGHC

Cheers guys - this is done


Update to Swift 6

Hello @jordanekay,
Thanks for closing the PR 👍 Indeed I'd rather have the package run on both Swift 5 and 6. It's too early to exclude people on Xcode 15.4.


[enhancement] support maven proxy settings

It looks like the plugin is not using maven proxy settings when trying to download sass from Github.
We added explicit proxy settings to a Bamboo maven task, now sass is cached.
Best regards and thanks for this plugin.

Hey, @gbrinkmann . Thanks for opening this issue. On version 1.0.0 the plugin doesn't accept proxy settings. I'll release this enhancement in the next release of the plugin. Unfortunately, for now, we won't be able to reuse the Maven settings as I couldn't figure out how to get the proxy configuration object from inside my plugin.

Hi @cleydyr , would maybe https://github.com/ScrapCodes/effective-pom-plugin/blob/master/src/main/java/org/apache/spark/EffectivePomMojo.java be helpful with this?

Hey, @gbrinkmann . I think auto-wiring a MavenSettingsBuilder (which probably will be DefaultMavenSettingsBuilder.java) and getting a Settings instance from it will do the trick to find the proxy settings.

Hi @cleydyr , good luck, should be possible in a plugin (there's also a mvn help:effective-settings which includes proxy settings)

It's out on version 1.1.0. Closing this.

Hello @cleydyr and thank you, my successful testing steps are

npm uninstall -g sass
removed C:\Users...\AppData\Local\dart-sass-maven-plugin
corrected our proxy host name in my mvn settings.xml
use plugin version 1.1.0
mvn clean install
worked like a charm


📝 Fix typos and improve text

Fix typos, rephrase and simplify certain sentences.
Explanation: In my opinion new user has no idea what's iD or JOSM (or whatever editor) so it's unnecessary to mention that. Important message is: there's something you should fill before commiting changes. I removed that part (it should also rise sustainability of the text).
Btw. this sentence:
A nezapomeň na zlaté pravidlo OpenStreetMap: bez výslovného povolení z cizích map (Mapy Google, Mapy.cz) nic nekopírujeme!
– is it really so important and relevant for new user? If so, why not mention that he should map only objects existing in reality – that's IMO more important. Sometimes less is more…

Díky


Application Insights explicit tracking / custom events management

Context
AB#215606 AB#196367
Change proposed in this pull request
Refactored app insights script. Modified click analytics integration to use custom data- attributes only to avoid noise in logs. Added action filter to be assigned to actions to append additional properties to App Insights request telemetry.
Guidance to review
Set a instrumentation key to a real resource to validate tracking in Azure Portal.
Checklist

[x] Work items have been linked (use AB#)
[x] Your code builds clean without any errors or warnings
[ ] You have run all unit/integration tests and they pass
[x] Your branch has been rebased onto main
[x] You have tested by running locally


[D&D5e 4.0.x] Item Sheet Tab Missing

In version 4.0.0, the D&D5e system introduced a new item sheet to accommodate a new feature called Activities. This new sheet does not feature the Walled Templates tab.
3.3.1:

4.0.2:

While the rest of the module works fine, the item tab sheet allowed certain spells or items to behave differently from the default. Without it, this is only possible by editing the template directly after placing.
Suggestion:
Perhaps the Walled Template settings could instead be per activity, allowing for a single spell to behave differently depending on the activity chosen. The tab would be best placed under the Activation section, along with Targeting.

Addressed in v0.8.1. Not sure yet if it should be per activity. Probably, but it would mean a whole other set of overrides. We already have:

Module template settings.
Per-spell settings.
Per-template config settings.

Let's see if there is a strong use case for it before I start digging into how to add things to the activity templates.


Release a new version

The most recently released version of this crate, 0.1.4, does not build on non-MSP430 targets on the latest nightly. This issue is caused by the atomic intrinsics changing in the latest nightly. Master does not have this issue, so it should be released.

Indeed this was fixed by #6. I agree a new version should be released, but I believe this crate should be deprecated in favor of using portable atomic. I have personally migrated my MSP430 code to that crate.
Keeping open until I have the bandwidth to update CHANGELOG, make a deprecation msg, and do a release.

My problem with portable-atomic is the lack of a trait for atomic operations, implemented across all atomic types. This makes it more difficult to write generic register manipulation code, though it's still possible.

Then for now, I am willing to not deprecate the crate until portable-atomic contains such traits. Alternatively, this could become a wrapper over portable-atomic that implements the traits.
The main thing is I don't think I want to maintain two copies of the inline assembly (portable-atomic's msp430 implementation is based on this crates inline asm).

It's not that big of a deal (I already figured out a workaround in my own code), so no need to delay deprecation.

According to these lines portable-atomic doesn't use inline ASM to implement atomic ints, but uses the disable-interrupt method. If we want to replace msp430-atomic then we need to add the inline ASM atomic implementations into portable-atomic. Alternatively we can make the same PR to atomic-polyfill.

Unfortunately, the inline ASM atomic implementations don't return the modified argument (except for atomic_load, which is implemented using inline ASM). AIUI, Rust atomic ops (and atomics in general) like e.g. fetch_add are expected to return the previous value atomically after the value was updated in memory.
It's not actually possible to load the old value in memory into a register and then update the memory in a single instruction on MSP430. And if done in multiple instructions, an interrupt could happen between the load of the old value and the update of the new one.
With this constraint, only msp430 loads and stores are truly atomic (and not susceptible to the multi core problem on ARM). So, AFAICT, the disable-interrupt method, except for loads and stores, is the correct thing to do for truly atomic operations. Realizing this was one of the main reasons I wanted to deprecate msp430-atomic.

I'm only interested in atomically modifying register values in PACs, in which case I don't care about the previous value in-memory. This makes the msp430-atomic semantics perfect for my usecase. On the other hand, the disable-interrupt method doesn't really fit in a PAC IMO. I think we should document the difference between msp430-atomic and portable-atomic, and not deprecate msp430-atomic.

My problem with portable-atomic is the lack of a trait for atomic operations, implemented across all atomic types. This makes it more difficult to write generic register manipulation code, though it's still possible.

I have no plans to provide an unsafe trait like msp430-atomic in portable-atomic, but I wonder if a generic atomic type (https://github.com/taiki-e/portable-atomic/pull/8) might be sufficient to solve your problem.

According to these lines portable-atomic doesn't use inline ASM to implement atomic ints, but uses the disable-interrupt method.

As cr1901 said, portable-atomic uses interrupt-disable-based atomic implementation because appropriate atomic operations are not available, except for load/store.

So, AFAICT, the disable-interrupt method, except for loads and stores, is the correct thing to do for truly atomic operations. Realizing this was one of the main reasons I wanted to deprecate msp430-atomic.

As a side note, if MSP430 atomics are implemented in LLVM, LLVM can understand whether the return value is used or not, so they can generate code similar to msp430-atomic in the case where the return value is not used (actually, such optimizations are available on x86). Once LLVM implements MSP430 atomics, portable-atomic will use it.

Generic atomic type would be pretty useful for me, but it's not critical. My main problem is that I don't need fetch_and_add or fetch_and_xor. I only need add and xor, which are guaranteed to be a single instruction on MSP430.

LLVM can understand whether the return value is used or not, so they can generate code similar to msp430-atomic in the case where the return value is not used (actually, such optimizations are available on x86).

This is interesting, but I don't like it applies to msp430, as msp430 doesn't have an equivalent to lock that enables removing code surrounding the actual atomic access. Since critical sections invokes assembly with side effects (i.e. volatile), the optimizer can't remove the critical sections that get called to acquire and release a portable-atomic type using a critical section.

@YuhanLiin In any case, if @taiki-e doesn't want to add the add, not, etc (i.e. without the fetch) operations that become a single assembly instruction for msp430 into portable_atomic (as a potential optimization for when you don't care about the old value), then I will not deprecate this crate. Regardless, I'll do a release soon.

@YuhanLiin @taiki-e I have updated this crate's README.md with information comparing and contrasting portable-atomic and atomic-polyfill. If this looks good to you, I think I can release v0.1.5.

Looks pretty good

I have updated this crate's README.md with information comparing and contrasting portable-atomic and atomic-polyfill.

Looks good to me!

if @taiki-e doesn't want to add the add, not, etc (i.e. without the fetch) operations that become a single assembly instruction for msp430 into portable_atomic (as a potential optimization for when you don't care about the old value)

I'm fine with adding them.

Cool, thanks for the feedback both of you! I will release after I sleep.

I'm fine with adding them.

If @YuhanLiin is fine with that, we can deprecate this crate once portable-atomic has the relevant functions (add, not, etc without the fetch).

I'm good with that

I will release after I sleep.

I apologize for taking so long; releasing this crate v0.1.5 and msp430 v0.4.1 is unlikely to happen before Dec 6th, due to personal/client matters taking priority (nothing is wrong, just many small things need to be done before Wednesday, and I won't be available until the next Monday). However, releasing is on my radar.

A new release has been made (finally), along with pointing to portable-atomic as a suitable replacement going forward thanks to https://github.com/taiki-e/portable-atomic/pull/47.


Drop seccomp patch as OCP 4.10 is no longer supported

Changes

Drop seccomp patch as OCP 4.10 is no longer supported

JIRA: https://issues.redhat.com/browse/SRVKS-1048

/assign @skonto

/hold for tests

/unhold


❓ Pass image processing results to different frame processors

Question
There may be some use cases that need the cooperation of different frame processors. I wonder if it is possible.
For example, I have to scan a document and then run OCR to extract information. In such a case, I have to pass the bitmap generated by the document scanning frame processor to the OCR frame processor.
What I tried
No response
VisionCamera Version
2.14.0
Additional information

[ ] I am using Expo
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar questions in the issues page as well as in the discussions page and found none.

Hi, yes, you can use multiple Frame Processor Plugins in one frame processor.


When body size is zero return null on get_message_body_summary function

I have no excuses.
Previous PR I did used the dev version of mine to see if the tests of guzzle here are passing but through my PHPStorm I checked only that specific test..
After tagging the 1.5.1 another test was failing because of the missing code on this PR. At least this is not a "bug" as the previous one and can wait for the next release :(
So sorry...

Thanks!


New logging

New logging: https://github.com/dbt-labs/dbt-core/blob/v1.0.0/core/dbt/events/README.md#adapter-maintainers

@semcha Thank you!


Samples for TokenCredential and Updating ShareTokenIntent Javadocs

Description

Adding samples for creating ShareClient using TokenCredential.
Updating Javadocs for ShareTokenIntent and for the Client Builders so it is clearer for users to use.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-storage-file-share


Drop unnecessary Blinker dependency

Flask requires this, so it's a transitive dep, but it's not directly used within this toolbar at all.
We do directly import the other listed packages, so they should stay.

Oh interesting, Python 3.7 requires Blinker...

>       ) from None
E       RuntimeError: Signalling support is unavailable because the blinker library is not installed.

🤔 I wonder though... it seems the exception in https://github.com/pallets-eco/flask-debugtoolbar/pull/248#issuecomment-2073770014 implies that we are directly relying on Blinker somehow... My guess is for signals, although I haven't tracked down whether FDBT is using signals all the time, or just in that particular test.
Regardless, now that we've dropped Python 3.7 support, the simpler thing might be to bump Flask to 2.3.0:

https://github.com/pallets-eco/flask-debugtoolbar/pull/256

I don't think we need any dependency except Flask itself. Declaring Flask's own dependencies here is redundant, and would presumably break anyway if Flask were to not depend on them anymore (not that it would do that).


Concierge credential exchange fails because of an outdated ID token

What happened?
I have a local Kind cluster setup running Concierge v0.10.0 configured with Dex v2.30.0. When I have a clean install it works okay, but once I recreate that same setup I get an authentication failure. By recreating I mean deleting the old cluster, creating a new one with Concierge and Dex redeployed, and also regenerating the CA bundle used by Dex.
I’m able to get the config file using the Pinniped CLI without issues, but it seems that there's a problem with verifying the ID Token I get from Dex.
The errors I’m seeing are -
kubectl --kubeconfig my-cluster.yaml get pods -n auth-with-dex
Error: could not complete Concierge credential exchange: login failed: authentication failed
Unable to connect to the server: getting credentials: exec: executable /usr/local/bin/pinniped failed with exit code 1

and the logs from the Concierge pod are showing -
I0810 16:51:07.955524       1 trace.go:205] Trace[1124895541]: "create" kind: (10-Aug-2021 16:51:07.946) (total time: 8ms):
Trace[1124895541]: ---"failure" failureType:token authentication,msg:oidc: verify token: failed to verify signature: failed to verify id token signature 8ms (16:51:00.955)
Trace[1124895541]: [8.718934ms] [8.718934ms] END

What did you expect to happen?
I should have been redirected to Dex where I can log in.
What is the simplest way to reproduce this behavior?
Recreate an environment without changing any parameters and clearing the pinniped cache folder.
In what environment did you see this bug?

Pinniped server version: v0.10.0
Pinniped client version: v0.10.0
Pinniped container image (if using a public container image): projects.registry.vmware.com/pinniped/pinniped-server:v0.10.0@sha256:3bdfb9ad9275449f07614081eca27cff16f15562aeabfee9214a0b0506bb6320
Pinniped configuration (what IDP(s) are you using? what downstream credential minting mechanisms are you using?): Dex v2.30.0
Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.0", GitCommit:"c2b5237ccd9c0f1d600d3072634ca66cefdf272f", GitTreeState:"clean", BuildDate:"2021-08-04T17:56:19Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.1", GitCommit:"5e58841cce77d4bc13713ad2b91fa0d961e69192", GitTreeState:"clean", BuildDate:"2021-06-22T04:47:11Z", GoVersion:"go1.16.4", Compiler:"gc", Platform:"darwin/amd64"}

Kubernetes installer & version (e.g., kubeadm version): kind image version - kindest/node:v1.21.1
Cloud provider or hardware configuration:
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a): darwin 20.6.0
Others:

What else is there to know about this bug?
Clearing the ~/.config/pinniped folder fixes the issue.

Clearing the ~/.config/pinniped folder fixes the issue.

I think the pinniped CLI could do better in terms of detecting when its cached data is not valid (i.e. prompt the user to login again when the cached creds fail during the token exchange).

It feels like the CA bundle of the OIDC issuer should be part of the cache key in sessions.yaml. If the client is talking to a server with a different CA bundle, then it is effectively talking to a different server.


sort-comp class configuration

sort-comp doesn't work for custom classes inherited from React.Component. How about add classes to configuration, where I could specify them?

Although using inheritance in this manner is an anti pattern, you can use a jsdoc extends comment to indicate to this plugin that your subclass is a component.


ORAS CLI link not working

In the README there's a link to ORAS CLI that points to https://oras.land/cli - which unfortunately 404s. It seems the new link is https://oras.land/docs/

Thanks @ashemedai. Could you kindly share a PR to update the link?


Move kube_v1_api to separate method

Reducing the number of attributes that must be handled
to serialize resources
Short description:
More details:
What this PR does / why we need it:
Which issue(s) this PR fixes:
Special notes for reviewer:
Bug:

!verified


S2U-21 SAK-49651 T&Q: Add config key input - MASTER

https://sakaiproject.atlassian.net/browse/S2U-21
https://sakaiproject.atlassian.net/browse/SAK-49651

@stetsche Where is the PR to s2u-22x? Thanks!

I added the EU translations now and created the PR for s2u-22x.
@jesusmmp here it is: https://github.com/sakaiproject/sakai/pull/12295

@mpellicer Could you re-run the maven build please. The webcomponents build failed when downloading node.

@mpellicer Could you re-run the maven build please. The webcomponents build failed when downloading node.

Done :)

This is cool, tested in #12295. Good job @stetsche


webview_flutter plugin is lagging and keyboard problems

When I compared webview_flutter plugin with https://pub.dev/packages/flutter_webview_plugin this plugin, I found an enormous and drastic performance issue which reflected a lot on our production.
But https://pub.dev/packages/flutter_webview_plugin this plugin don't manage cookies why is really very sad.

Hi @varunkumarmedam,
Please provide flutter doctor -v and a minimal complete reproducible code sample w.r.t webview_flutter plugin, that shows the issue you are facing, along with the devices on which you tried.

Hello @darshankawar, thanks for immediate response
import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter WebView Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: WebviewScaffold(
url: "http://bloodline.ga/app/",
withZoom: true,
appCacheEnabled: true,
withJavascript: true,
));
}
}
The above code works very smoothly.
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(title: 'Flutter WebView Demo', home: MySite());
}
}
class MySite extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: SizedBox(
height: MediaQuery.of(context).size.height,
child: WebView(
initialUrl: 'https://bloodline.ga/app/',
javascriptMode: JavascriptMode.unrestricted,
),
),
);
}
}
This is lagging which can be observed while scrolling

And flutter_inappwebview can manage cookies also (cross-domain too), and I tried to integrate webview_cookie_manager with this webview_flutter plugin but this can able to get cookies in cross-domain. But later found webview_cookie_manager cant get cookies from cross-domain.

We are trying to get flutter_webview_plugin performance with flutter_inappwebview cookie management

@varunkumarmedam,
There's another open issue describing your case, 61280.
Does that sound similar to your issue ?

@darshankawar yaa that issue is somewhat similar but we are facing problems with cross-origin cookies too. I cant able to find the correct solution in the closes issues too.

 flutter_inappwebview  this plugin works as expected for cookies management but we can't use because of low performance like this plugin

Hi @varunkumarmedam,
flutter_inappwebview is a 3rd party plugin, so if you have any issues related to it, I'd suggest to raise those here : https://github.com/pichillilorenzo/flutter_inappwebview/issues.
I don't really know exactly about cross-origin cookies issues you are talking about, but if you have any specifics with it, I'd suggest you to open a new issue w.r.t webview_flutter plugin and for current issues related to lagging and keyboard, please follow-up in 61280. Makes sense ?
Thanks.


Serviceip timeout error

#181
To consider in another way, the Promise itself is working well, so it is logical for it to resolve an Error and throw it outside the Promise.

Thank you very much for improving the v0.22 branch!
As we understand that you need to maintain the v0.22 branch for bug fixes, and I'm focusing on the latest main branch code, so I'd like to suggest that, any PRs to the v0.22 branch, will be merged by me as soon as they have reached the below three requirements:

The PR is for the v0.22 branch
The PR has been approved by at least two contributors from @wechaty/juzi
The PR has passed the GitHub actions (CI is green)

I hope the above working procedure can improve the performance of your maintaining work on this branch.
Please feel free to let me know if you have any questions. If no questions, then we can start following this list from now.
Have a great day!

@huan For some reason Su-chang's approval did not count...

@su-chang @windmemory Thanks for the approvals!
Please feel free to submit more PRs and let's follow this merge steps in the future for the v0.22 branch.

@huan For some reason Su-chang's approval did not count...

@hcfw007 It's ok for that, we can just count by human.
The reason is that GitHub will only count the approvers who have the write privileges to the repo for approval counting.


[nfs-example] Modify README.md

Fixes #453. #442 modified rc but didn't modify README.md, README.md should also be changed.

/remove-lifecycle rotten


samples/custom_dispatch/cuda/kernels/cuda_ukernel_ukernel.cu.bc fails to build on Windows

What happened?
I hit an error building https://github.com/iree-org/iree/blob/main/samples/custom_dispatch/cuda/kernels/CMakeLists.txt on my Windows machine after a recent update to our LLVM submodule.
Steps to reproduce your issue

Build the all CMake target with -DIREE_BUILD_SAMPLES=ON set
Observe error:[build] [6785/7145  94% :: 1152.192] Compiling ukernel.cu to cuda_ukernel_ukernel.cu.bc
[build] FAILED: samples/custom_dispatch/cuda/kernels/cuda_ukernel_ukernel.cu.bc D:/dev/projects/iree-build/samples/custom_dispatch/cuda/kernels/cuda_ukernel_ukernel.cu.bc
[build] cmd.exe /C "cd /D D:\dev\projects\iree-build\samples\custom_dispatch\cuda\kernels && D:\dev\projects\iree-build\llvm-project\bin\clang.exe -x cuda --cuda-gpu-arch=sm_60 "--cuda-path=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.2" -Wno-unknown-cuda-version -nocudalib --cuda-device-only -D_ALLOW_COMPILER_AND_STL_VERSION_MISMATCH -O3 -c -emit-llvm D:/dev/projects/iree/samples/custom_dispatch/cuda/kernels/ukernel.cu -o cuda_ukernel_ukernel.cu.bc"
[build] In file included from <built-in>:1:
[build] In file included from D:\dev\projects\iree-build\llvm-project\lib\clang\19\include\__clang_cuda_runtime_wrapper.h:472:
[build] In file included from D:\dev\projects\iree-build\llvm-project\lib\clang\19\include\__clang_cuda_cmath.h:16:
[build] In file included from C:\Program Files (x86)\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.31.31103\include\limits:13:
[build] In file included from C:\Program Files (x86)\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.31.31103\include\cwchar:12:
[build] In file included from C:\Program Files (x86)\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.31.31103\include\cstdio:12:
[build] In file included from C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\stdio.h:13:
[build] C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\corecrt_wstdio.h:486:24: error: non-const lvalue reference to type '__builtin_va_list' cannot bind to a value of unrelated type 'va_list' (aka 'char *')
[build]   486 |         __crt_va_start(_ArgList, _Locale);
[build]       |                        ^~~~~~~~
[build] D:\dev\projects\iree-build\llvm-project\lib\clang\19\include\vadefs.h:39:54: note: expanded from macro '__crt_va_start'
[build]    39 | #define __crt_va_start(ap, param) __builtin_va_start(ap, param)
[build]       |                                                      ^~

Full logs: https://gist.github.com/ScottTodd/40aa39fa343665108f742c2e5271d011

What component(s) does this issue relate to?
No response
Version information
First observed at https://github.com/iree-org/iree/commit/30e2c203ca2c4368a6812eeec41e95b43c777c34 . This does not occur at the prior commit (https://github.com/iree-org/iree/commit/3dffadbc0b8a37ab170a61eddb3131c8cbd8c2b2)
Additional context
No response

I looked a bit for culprit commits but there are 400 LLVM commits in the range and a search through relevant directories didn't show anything obvious. Leaning towards disabling the sample on Windows for now to keep local builds more stable.

Possibly https://github.com/llvm/llvm-project/commit/dad7442aff5c85ff9141b0d0f231bcd731cbadc6

seems likely - unfortunate but not unexpected that things would break (in that, I don't know if an issue was filed if it'd get fixed). getting on compiler-rt for sample artifacts would insulate us from issues like this.

-isystem ${IREE_CLANG_BUILTIN_HEADERS_PATH} is what we use in the samples/custom_dispatch/cpu/embedded/ and iree_bitcode_library and may be enough.


Note about metrics in what's new

Coverage remained the same at 63.114% when pulling 7b5c812e345db54f0b0e382e310a56683867c36d on whats-new-metrics into 40d5687e89a9ce372335cc6cf476038a92aeb35f on master.


doc: Review introduction

Q
A

Type
doc

BC Break
no

Fixed issues
-

Rebased. The psalm error is fixed by https://github.com/doctrine/mongodb-odm/pull/2648


Generate python3.dll import libraries for Windows targets in the build script

I'm routinely cross-compiling Python extension modules for Windows from a Linux host using the well-supported x86_64-pc-windows-gnu rustc target. The main issue I'm having is finding a suitable python3.dll import library (for abi3 extensions) to use with PYO3_CROSS_LIB_DIR.
MinGW and MSVC compilers use incompatible import library object formats, so downloading a Windows Python distribution does not work, and compiling Python with MinGW compiler is not supported by the upstream and requires about a hundred patches to work.
I've been working around this by using shell scripts to generate the MinGW-compatible python3.dll import library using dlltool from MinGW binutils. Luckily, the CPython project maintains a list of the stable ABI symbols in a machine-readable format, which can be used to generate a DLL module definition (.def) file and the DLL import library from it.
A few weeks ago I decided to ditch the shell script hacks and package everything into a self-contained Rust crate called python3-dll-a. I'm currently using it in my own projects via build.rs, and the Windows cross-compile command is just this (no Windows Python files required):
PYO3_CROSS_LIB_DIR=target/python3-dll cargo build --target x86_64-pc-windows-gnu

Ideally, I'd like to integrate it into pyo3-build-config, so that cross-compiling abi3 extension modules for Windows would just work out of the box without messing with any PYO3_CROSS* environment variables. This should be already the case for Unix-like platforms where linking extension modules does not require a Python shared library.
The current python3-dll-a version can generate python3.dll import libraries for
x86_64-pc-windows-gnu, i686-pc-windows-gnu, x86_64-pc-windows-msvc, i686-pc-windows-msvc and aarch64-pc-windows-msvc compile targets and can support both cross and native compilation setting. As a limitation of this approach, targeting the -msvc environment ABI requires LLVM binutils to be installed on the compile host.
If there is an interest in integrating this solution, I can start working on a PR for PyO3.
This will be feature-gated at the pyo3 crate level, of course.

See also https://github.com/PyO3/maturin/issues/830

Ideally, I'd like to integrate it into pyo3-build-config

I'm also open for integrate it into maturin. It should be doable.

I'm happy for it to go in either place. You might find it a bit easier to put it in maturin; to keep pyo3-build-config simple there's a single file impl_.rs which is compiled into both the build script and the library.

I'm happy for it to go in either place. You might find it a bit easier to put it in maturin; to keep pyo3-build-config simple there's a single file impl_.rs which is compiled into both the build script and the library.

Thanks!
I'll try to go with pyo3-build-config first, because I like to think that cargo build should always work. It's also a prerequisite for cargo clippy and cargo test to work. If it is implemented in maturin only these commands will also become inaccessible.


question

I want to train a new model, do I need to get his masking map first?

This is an unsupervised model, no labeling needed for training.

I don't need this picture？

Only for evaluation, training is done merely on the input images.

Then I want to extract the video background of multiple people, can I just use tennis.ckpt?

no, the model should be trained per scene, if your video takes place in a different scene you should train a new model and use the new set of weights.
I highly recommend reading the paper to better understand the idea of this background model.

ok，thank

When I used my new weights, I reported this error "raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for BMN:", this is why

Can you please give more details to reproduce the error?


Update README.md

fixing typo

Pull Request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Does this introduce a breaking change?

[ ] Yes
[ ] No

Other information

https://github.com/gizatechxyz/orion/pull/155


Parameter OleVariant type in dynamic link library

@salvadordf
Hello, I am the author of the energy open source framework and previously wrapped a set of underlying libraries in Golang using Lazarus CEF4Delphi.
Now I have also used Golang to encapsulate a complete set of dynamic link libraries based on Lazarus WebView4Delphi.
I have a question, I in the class: "TWVBrowserBase, TCoreWebView2," function "AddHostObjectToScript, AddHostObjectToScriptWithOrigins"
The parameter "object_: OleVariant" in these functions.
At this point I am not familiar with the "OleVariant" type and do not know how to use such a parameter passed in a dynamic library.
Can you give me some suggestions for reference?
I call this dynamic library API in Golang.
Can I create a generic class wrapper "OleVariant "type in Lazarus to use? Can you give me some hints.
Thank you very much.

Hi,
The documentation for those methods can be found here :

AddHostObjectToScript
AddHostObjectToScriptWithOrigins

As you can see, Delphi converts a VARIANT parameter to OleVariant when you import the WebView2.tlb file found in the WebView2 NuGet package.
Read these pages to know more about the OleVariant type and the Variant types.
`OleVariant
The main difference between Variant and OleVariant is that Variant can contain data types that only the current application knows what to do with. OleVariant can only contain the data types defined as compatible with OLE Automation, which means the data types that can be passed between programs or across the network without worrying about whether the other end will know how to handle the data.
When you assign a Variant that contains custom data (such as a Delphi string, or one of the new custom variant types) to an OleVariant, the runtime library tries to convert the Variant into one of the OleVariant standard data types (such as a Delphi string converts to an OLE BSTR string). For example, if a variant containing an AnsiString is assigned to an OleVariant, the AnsiString becomes a WideString. The same is true when passing a Variant to an OleVariant function parameter.`

Thank you very much.
I'm going to learn them


make action_mailer configurable

Fixes #655
I promoted all mail settings to application.rb to prevent duplication / drift in each environment
I'm also not sold on the host being under action_mailer, i think we have a thing like APP_URL in scholarsphere. I'm not sure the best convention for that.

I moved host to a top level thing, i think it makes sense. shrug naming things was the hardest part of this PR


How to add email to whitelist

Classification

[X] Question

Description
Hello,
Please, any instruction on how to add an email address (not a domain) to a whitelist, to prevent detection as a spam by rspam.
Thank you.

I added WHITELIST_SPAM_ADDRESSES environment variable. You can use it like this :
mailserver:
  image: hardware/mailserver:1.1-latest
  environment:
    - WHITELIST_SPAM_ADDRESSES=address<EMAIL_ADDRESS>
docker logs -f mailserver

[INFO] address<EMAIL_ADDRESS>added to rspamd whitelist
...

@hardware https://github.com/hardware/mailserver/commit/d7255b600b23f7aa872bebf160a05fde83e4b437#comments

WHITELIST_SPAM_ADDRESSES is now available in stable branch.


poll-cv: Async-client/Sync-server streaming perf test fails/timeouts with poll-cv engine

The following tests fail with poll-cv engine:
cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_secure
cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure

To reproduce, do the following:

$ # Go to your grpc local repo root
$ GRPC_POLL_STRATEGY=poll-cv  tools/run_tests/run_performance_test.py -l c++ -r cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure

You will also notice that if you run qps_worker and qps_json_driver processes manually (or perhaps give a longer timeout in run_performance.py above), then it will complete after a long time (around 5 mins or even 10 mins).

Another way to reproduce (i.e running qps_workers and qps_json_driver manually)

$ # Go to grpc local repo root and build
$ CONFIG=dbg make qps_json_driver qps_worker -j

$ # Open three terminal windows

$ # Window 1
$ GRPC_POLL_STRATEGY=poll-cv GRPC_VERBOSITY=DEBUG bins/dbg/qps_worker --driver_port=10001

$ # Window 2
$ GRPC_POLL_STRATEGY=poll-cv GRPC_VERBOSITY=DEBUG bins/dbg/qps_worker --driver_port=10002

$ # Window 3 (Notice that this need not use  poll-cv. It uses epoll by default and it is okay)
$ export QPS_WORKERS=localhost:10001,localhost:10002
$ GRPC_VERBOSITY=DEBUG bins/dbg/qps_json_driver  '--scenarios_json={"scenarios": [{"name": "cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure", "warmup_seconds": 5, "benchmark_seconds": 30, "num_servers": 1, "server_config": {"async_server_threads": 0, "core_limit": 0, "security_params": null, "server_type": "SYNC_SERVER"}, "client_config": {"client_type": "ASYNC_CLIENT", "security_params": null, "payload_config": {"simple_params": {"resp_size": 0, "req_size": 0}}, "client_channels": 64, "async_client_threads": 0, "outstanding_rpcs_per_channel": 100, "rpc_type": "STREAMING", "load_params": {"closed_loop": {}}, "histogram_params": {"max_possible":<PHONE_NUMBER>0.0, "resolution": 0.01}}, "num_clients": 0}]}'

@sreecha @ctiller
I think #8982 actually substantially helps this case:
With that change:
kpayson@kpayson0:/workspace/grpc2$ GRPC_POLL_STRATEGY=poll-cv tools/run_tests/run_performance_tests.py -l c++ -r cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure
START: Preparing hosts.
PASSED: local_prepare [time=0.3sec; retries=0:0]
SUCCESS: Prepare step completed successfully.
START: Building.
PASSED: local_build [time=1.3sec; retries=0:0]
SUCCESS: Built successfully.
START: qps_worker_c++_0
START: qps_worker_c++_1

++ dirname tools/run_tests/performance/run_qps_driver.sh
+ cd tools/run_tests/performance/../../..
+ bins/opt/qps_json_driver '--scenarios_json={"scenarios": [{"name": "cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure", "warmup_seconds": 5, "benchmark_seconds": 30, "num_servers": 1, "server_config": {"async_server_threads": 0, "core_limit": 0, "security_params": null, "server_type": "SYNC_SERVER"}, "client_config": {"client_type": "ASYNC_CLIENT", "security_params": null, "payload_config": {"simple_params": {"resp_size": 0, "req_size": 0}}, "client_channels": 64, "async_client_threads": 0, "outstanding_rpcs_per_channel": 100, "rpc_type": "STREAMING", "load_params": {"closed_loop": {}}, "histogram_params": {"max_possible":<PHONE_NUMBER>0.0, "resolution": 0.01}}, "num_clients": 0}]}' --scenario_result_file=scenario_result.json
RUNNING SCENARIO: cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure
D0206 12:35:17.315935701   58764 ev_posix.c:105]             Using polling engine: poll-cv
I0206 12:35:18.322355554   58764 driver.cc:268]              Starting server on localhost:10000 (worker #0)
D0206 12:35:18.322451586   58764 ev_posix.c:105]             Using polling engine: poll-cv
I0206 12:35:18.343740214   58764 driver.cc:336]              Starting client on localhost:10010 (worker #1)
D0206 12:35:18.343844104   58764 driver.cc:375]              Client 0 gets 64 channels
I0206 12:35:18.465201668   58764 driver.cc:396]              Initiating
I0206 12:35:18.476654821   58764 driver.cc:417]              Warming up
I0206 12:35:23.476763322   58764 driver.cc:423]              Starting
I0206 12:35:23.495435406   58764 driver.cc:450]              Running
I0206 12:35:53.476777367   58764 driver.cc:464]              Finishing clients
I0206 12:35:53.477892372   58764 driver.cc:478]              Received final status from client 0
I0206 12:35:53.806017085   58764 driver.cc:510]              Finishing servers
I0206 12:35:53.811958723   58764 driver.cc:524]              Received final status from server 0
I0206 12:35:57.056021375   58764 report.cc:81]               QPS: 35206.0
I0206 12:35:57.058179710   58764 report.cc:91]               QPS: 35206.0 (2933.8/server core)
I0206 12:35:57.058211257   58764 report.cc:96]               Latencies (50/90/95/99/99.9%-ile): 157399.5/228166.4/330301.3/717298.3/1086503.3 us
I0206 12:35:57.058224571   58764 report.cc:106]              Server system time: 496.20%
I0206 12:35:57.058235606   58764 report.cc:108]              Server user time:   108.57%
I0206 12:35:57.058246214   58764 report.cc:110]              Client system time: 37.81%
I0206 12:35:57.058256758   58764 report.cc:112]              Client user time:   29.70%
I0206 12:35:57.058267667   58764 report.cc:117]              Server CPU usage: 66.82%
+ '[' '' '!=' '' ']'
PASSED: qps_json_driver.cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure [time=39.8sec; retries=0:0]

PASSED: qps_json_driver.quit [time=2.0sec; retries=0:0]

I0206 12:35:17.302615496   58760 server_builder.cc:247]      Synchronous server. Num CQs: 12, Min pollers: 1, Max Pollers:<PHONE_NUMBER>, CQ timeout (msec): 1000
PASSED: qps_worker_c++_0 [time=41.8sec; retries=0:0]
QPS worker "localhost:10010" is still running.
QPS worker "localhost:10010" is still running.

I0206 12:35:17.305455078   58761 server_builder.cc:247]      Synchronous server. Num CQs: 12, Min pollers: 1, Max Pollers:<PHONE_NUMBER>, CQ timeout (msec): 1000
PASSED: qps_worker_c++_1 [time=46.1sec; retries=0:0]
All QPS workers finished.

Without that change:
GRPC_POLL_STRATEGY=poll-cv tools/run_tests/run_performance_tests.py -l c++ -r cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure
START: Preparing hosts.
PASSED: local_prepare [time=0.3sec; retries=0:0]
SUCCESS: Prepare step completed successfully.
START: Building.
PASSED: local_build [time=31.0sec; retries=0:0]
SUCCESS: Built successfully.
START: qps_worker_c++_0
START: qps_worker_c++_1

++ dirname tools/run_tests/performance/run_qps_driver.sh
+ cd tools/run_tests/performance/../../..
+ bins/opt/qps_json_driver '--scenarios_json={"scenarios": [{"name": "cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure", "warmup_seconds": 5, "benchmark_seconds": 30, "num_servers": 1, "server_config": {"async_server_threads": 0, "security_params": null, "payload_config": null, "server_type": "SYNC_SERVER"}, "client_config": {"client_type": "ASYNC_CLIENT", "security_params": null, "payload_config": null, "client_channels": 64, "async_client_threads": 0, "outstanding_rpcs_per_channel": 100, "rpc_type": "STREAMING", "load_params": {"closed_loop": {}}, "histogram_params": {"max_possible":<PHONE_NUMBER>0.0, "resolution": 0.01}}, "num_clients": 0}]}' --scenario_result_file=scenario_result.json
RUNNING SCENARIO: cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure
I0206 12:43:59.642962276   75267 driver.cc:259]              Starting server on localhost:10000 (worker #0)
D0206 12:43:59.643045299   75267 ev_posix.c:107]             Using polling engine: poll-cv
I0206 12:43:59.648651425   75267 driver.cc:306]              Starting client on localhost:10010 (worker #1)
D0206 12:43:59.648677461   75267 driver.cc:322]              Client 0 gets 64 channels
I0206 12:43:59.757211908   75267 driver.cc:343]              Initiating
I0206 12:43:59.770925615   75267 driver.cc:364]              Warming up
I0206 12:44:04.771027461   75267 driver.cc:370]              Starting
I0206 12:44:04.863617798   75267 driver.cc:397]              Running
I0206 12:44:34.771065355   75267 driver.cc:411]              Finishing clients
I0206 12:44:34.771800498   75267 driver.cc:425]              Received final status from client 0
I0206 12:50:24.111830214   75267 driver.cc:457]              Finishing servers
I0206 12:50:24.118813390   75267 driver.cc:471]              Received final status from server 0
I0206 12:51:21.321436807   75267 report.cc:81]               QPS: 1015.1
I0206 12:51:21.323846692   75267 report.cc:91]               QPS: 1015.1 (84.6/server core)
I0206 12:51:21.323880727   75267 report.cc:96]               Latencies (50/90/95/99/99.9%-ile): 2688554.1/6099182.0/10075834.0/27601184.2/34718785.0 us
I0206 12:51:21.323893818   75267 report.cc:106]              Server system time: 46.95%
I0206 12:51:21.323904589   75267 report.cc:108]              Server user time:   88.74%
I0206 12:51:21.323914730   75267 report.cc:110]              Client system time: 12.43%
I0206 12:51:21.323924663   75267 report.cc:112]              Client user time:   4.07%
I0206 12:51:21.323935180   75267 report.cc:117]              Server CPU usage: 17.49%
+ '[' '' '!=' '' ']'
PASSED: qps_json_driver.cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure [time=441.8sec; retries=0:0]

PASSED: qps_json_driver.quit [time=0.0sec; retries=0:0]

I0206 12:43:59.511150308   75259 server_builder.cc:247]      Synchronous server. Num CQs: 1, Min pollers: 1, Max Pollers:<PHONE_NUMBER>, CQ timeout (msec): 1000
TIMEOUT: qps_worker_c++_0 [pid=75259]

I0206 12:43:59.518450586   75260 server_builder.cc:247]      Synchronous server. Num CQs: 1, Min pollers: 1, Max Pollers:<PHONE_NUMBER>, CQ timeout (msec): 1000
TIMEOUT: qps_worker_c++_1 [pid=75260]


Iterator stops in the middle

Great lib! Thanks!!
I've been testing your library on a Windows binary (PE) and I noticed that depending where I start the iteration in the buffer I don't have the same number of iterations.
I would have expected that if I start at 0x600 (where the opcodes seem to start) I would iterate until the end of the file (size=67MB) but I got less iterations than if I start at some other places that was of interest for me.
I have the feeling the iteration stops when it encounters something it doesn't understand OR maybe there is something I don't understand about the use of this library itself. Am I correct to think that the point of the iter function is to read the buffer to the end and provide an opcode for every iteration?  I'm not blocked by this issue but I'm interested to know more and participate on the development.

Hello and thanks for taking interest!

A windows binary (PE file) contains more than just code instructions, you cannot simply start at some point and iterate until the end. This very simple length disassembler will stop when it encounters an instruction it does not understand.
You may try to extract the 'code' section of the PE file, using eg. pelite whose job it is to parse the PE file structures (disclaimer: I am the author of pelite). You can use that library to extract the code section (assuming x64):
use pelite::pe64::{Pe, PeFile};

let map = pelite::FileMap::open("demo/Demo64.dll").unwrap();
let file = PeFile::from_bytes(&map).unwrap();
let code_section = file.section_headers().iter().find(|sect| &sect.Name == b".text\0\0\0").unwrap();
let code_bytes = file.get_section_bytes(code_section).unwrap();
for (opcode, va) in lde::X64.iter(code_bytes, code_section.VirtualAddress as u64) {
	println!("{:#x}: {}", va, opcode);
}

However even this isn't guaranteed to only contain executable code! jump tables for switch statements will put their tables in the code section as well as you can easily write source code in C++ or Rust which puts arbitrary data in the code section.
How to work around this issue depends on what your goal is. Here is an example where I'm looking for a particular bit of code which I know ahead of time what its structure is going to be, then I run through it with lde to find specific instructions which reveal the underlying data structures of the source code which generated that code.

I haven't found much time to work on this library in particular, I'd love to put more work into it (eg. supporting the new v -style sse instructions) but it should keep working for 32-bit and older x64 based instructions.

If I understand correctly, using pelite won't work either because there is no guarantee there will be only executable code.
What you suggest is, for example, to look for a particular piece of code and then run lde from there, am I correct?
I think that's what I have done so I will keep my approach to the problem as it is now then. I guess I was looking for a wrong abstraction. (The code is here if you want to check.)


feat(Validation): Add validation-object-errors binding (with new propertyNames parameter for ensureObject().satisfies())

Proposed Change
I have previously proposed adding a propertyNames parameter to ensureObject().satisfies() (see here) and here.
Further to that, I here propose the following:
Create a new binding like validation-errors called validation-object-errors for instance-level (rather than property-level) validation.
This new binding would have the following effects:

it would change behavior of the inner validate binding by causing whole object to be validated on each property change (rather than a single modified property).

in the ValidationRenderer, RenderInstruction would be filled-in with elements and property names for all the rules that have failed. (Again, see my earlier proposal and here.

(https://github.com/aurelia/validation/issues/279#issuecomment-250188672) that would come in quite handy here).
Use Case
My form contains a table of rows, each of which displays an object instance that has been added to the controller for validation.
I am validating at the object level, thus must manually call ValidationController.validate().  I want to display validation errors separately for each row and thus want an easy way to identify errors associated with each object.
Each object contains object rules (defined by ensureObject().satisfies()).  These object rules do not depend on other rules, but they do relate to a set of properties on the object.  However, unlike with ensure().satisfies() it is not possible to associate ensureObject().satisfies() with a property name, much less with multiple property names.
Further, I am using neither the validate binding nor a ValidationRenderer.  Again, I am manually calling ValidationController.validate(), and manually rendering the error information when validate completes.
A ValidationRenderer could be useful for me in this scenario, but it is not, for the following reasons:

without using the validate binding, it does not provide the element(s) with which a property is associated.
it provides neither property names nor elements for rules define by ensureObject().satisfies()

@dkent600 sounds like there's two parts to this.

Creating something similar to validation-errors custom attribute to make it easier to bind to a specific object's errors.  Maybe something like this:

Associating specific dom elements with errors resulting from ensureObject(). Few questions for you on this part:
How do you propose this would work?
Why are you using ensureObject() instead of ensureProperty(...)?
In your view is #279 the same issue?

@jdanyow

1.  Creating something similar to validation-errors custom attribute to make it easier to bind to a specific object's errors. Maybe something like this:

Minor correction (see .bind):

Otherwise that looks good.  To reiterate: this would change the behavior of the validate binding behaviors contained within the element decorated with object-validation-errors such they would cause the whole object to be validated on each property change (rather than the single modified property)

2. Associating specific dom elements with errors resulting from ensureObject(). Few questions for you on this part:
i. How do you propose this would work?

I propose this would work by adding a parameter to satisfies that allows us to specify multiple property names upon which the rule or object will depend.  This additional parameter would only be available when following ensureObject.
The validate binding behavior would then serve to link the property names with the associated DOM elements.
(Side note:  I note that the satisfies callback is the same under ensure as it is under ensureObject.  Thus in the ensureObject case both the value and instance parameters appear to be set to the object instance.  To reduce confusion, perhaps this could be reduced to a single parameter, the object instance?)

ii. Why are you using ensureObject() instead of ensureProperty(...)?

By "ensureProperty" do you mean "ensure"?  I'm not familiar with the former.  I assume you mean the latter (and perhaps are thinking of renaming it?).
In any case, I'm not really clear about this question in general.  My entire use case is based on validating the entire object.  It seems like property-based validation is working pretty well in the context of this feature request.  Are you thinking there is an improvement here that I haven't thought of?

iii. In your view is #279 the same issue?

Yes, it is exactly this.  Good idea to put this all together in one place.

A corrolary of this could be that when one calls:
ValidationController.validate({ object: instance, propertyName: name  })
then all associated rules that reference the property would be evaluated.  This would include object-level rules where the names of the implicated properties will have been given in the new version of satisfies requested above.

There might be a cleaner way of triggering validation of a whole object when any input is changed, blurred or both, depending on the behavior you're going for.

<form blur.capture="controller.validate({ object: person })"
      change.delegate="controller.validate({ object: person })"
      input.delegate="controller.validate({ object: person })"
      style.bind="controller.errors.length ? 'has-error' : ''">

  <input value.bind="person.firstName">
  <input value.bind="person.lastName">

</form>

@jdanyow Hmmm, honestly, that doesn't look cleaner to me than simply adding

Further, it adds nothing without the enhancement to ensureObject that I proposed because field names and elements associated with rules defined after ensureObject would still not be identified to the renderer.
I think that with the changes I've proposed here, it would move object-level validation closer to, if not on par with, the existing property-level support.

I was thinking you'd only be using on of the blur.capture / change.delegate / input.delegate options. I included all three because I wasn't sure which flavor of validation trigger you wanted.
It's true this doesn't do anything with the property names stuff you mentioned. I need to get on the same page with you on this part. It would be extremely helpful if you could share some more user-story / concrete use-case kind of information so I can visualize how this is supposed to work. Even better if you could put together a gist with real class names, property names, rules etc, that I would be able to use when testing out implementation changes that attempt to meet the need.

I'll see what I can do!
BTW, I can't for the life of me find a reference to "blur.capture".  What is that?

whoops- capture is a new binding command- I'm just realizing it's not even released yet (or documented yet: https://github.com/aurelia/binding/issues/538).
What it does is enable you to use event delegation for events that do not bubble upwards (like blur) by subscribing to their "capture" phase. Check out "useCapture" here for more info.
Capture example you can experiment with: https://gist.run/?id=ad56bbc7ba0011eb9f5a93686693521d
Capture issue in binding: https://github.com/aurelia/binding/pull/530

@jdanyow
In reference to the Gist found here:  https://gist.run/?id=7103145949f2b899337a635ff6b8ca74
First, I would like to enumerate the problems I see with using something like blur.capture="controller.validate({ object: person })" instead of
:

ValidationRenderers won't be informed about elements associated with properties that rules defined by ensureObject.satisfies might depend on.  This is demonstrated in the Gist.

it works outside the aurelia-validation framework, which for property-based validation supports the ValidationController.validateTrigger property to trigger validation.  I feel that object-based validation should be able to work through the same mechanism.  The proposed object-validation-errors attribute would invoke whole-object validation instead of property-specific validation, and that it be coordinated with ValidationController.validateTrigger.

it doesn't support automatically putting errors into an array property like validation-errors does.  You will see in the Gist that this lack is more significant when working with an array of objects, each being validated separately and each needing to have a distinct set of ValidationErrors.

In the Gist, you can see the following

the array generated by validation-errors does not include the object-level validation errors, whereas the proposed object-validation-errors would, by definition.

when the ensureObject validation rule fails, the renderer is not notified of the element(s) that caused the error, whereas with the changes I have proposed to ensureObject.satisfies, it would

you can see I had to jump through some hoops to manually generate a list of object-specific errors from controller.errors.

I hope this helps!

I think I now understand that there is an asymmetry in my proposal between validation-errors and object-validation-errors.  I have proposed object-validation-errors in such as way as to affect the behavior of the contained validate binding behaviors, causing them to trigger object-level validation rather than propery validation.  I seriously doubt that validation-errors plays a corresponding role in forcing property-level rather than object-level validation.
My main concern in this comment, however, is whether forcing object-level validation would actually be feasible for object-validation-errors to do, and whether you would be comfortable with such an entanglement of enclosing attribute with enclosed binding-behavior.

Criteria for acceptance:

ValidationRenderers are apprised of elements that are associated with validated properties whose validation rules are defined by ensureObject.satisfies

Either validation-errors or a new object-validation-errors generate a list of messages from validation rules defined by ensureObject.satisfies

A new object-validation-errors attribute, or a new option on the existing validation-errors attribute, causes object-level, rather than property-level, validation to be triggered when the specified ValidationController.validateTrigger is tripped on elements having a validate binding behavior.

@dkent600 thanks for all your work here fleshing this out- the one thing I was really hoping to get was an actual use case. Something we could put in the docs for this. I don't think the first name "abc" thing fits the bill. I really want a get something that people can relate to because it will make the docs understandable. Not to mention it will allow me to wrap my head around what the need is and hopefully come up with a good implementation with the least amount of boilerplate.

@jdanyow Thanks for your patience on this.
Ok, how does this do:
Case 1
You are using ensureObject.satisfies to define one or more rules.  So you want to use object-level validation.
So when displaying validation errors you want to give feedback as to which GUI elements are complicit in breaking rules defined by ensureObject.satisfies.
Case 2
In addition to case 1, you are displaying a set of objects, each as a row in a table in your GUI.  You are using a single validation controller to validate all of them, but validating one object at-a-time (it would be quite inefficient and awkward to use a separate validation controller for each object).
So when displaying validation errors pertaining to a specific row/object, you want to include messages from failed rules defined by ensureObject.satisfies associated with the specific object, and you want to give feedback as to which GUI elements in the specific table row are complicit in breaking rules defined by ensureObject.satisfies.
Case 3
In addition to either case 1 or case 2, you are saving changes to the entire object whenever the user makes a valid modification to a property, without requiring that the GUI include a "Save Changes" button.
So you want the validateTrigger to cause object-level rather property-level validation

@jdanyow
Man, I've really made a mess of this.  Thanks for your patience!  With some more work I've narrowed this down much more cleanly.
First, please refer to a new gist, here.
The fundamental issue:
Rules defined by ensureObject().satisfies() cannot currently be associated with any properties that the rule depends on.  Thus:

Validation messages from rules defined in ensureObject().satisfies() are never associated with a GUI element and thus cannot be rendered to the user via the ValidationRenderer mechanism.
The validate value converter, when a validation is triggered on an associated property, never triggers the evaluation of rules defined by ensureObject().satisfies().

In both of the above cases a property can appear to be valid when in fact it is not.
The gist  demonstrates these two issues in two separate use cases.
To address this I propose adding a propertyNames parameter to ensureObject().satisfies() .
(This was the original request.  I think we can scrap the suggestion about a new object-validation-errors custom attribute).

@dkent600 no worries! I'll close this one out and we can continue tracking/discussing a mechanism for expressing a rule's property dependencies in #279.
Thanks for sticking with this one. I'll add your gist to #279.

@jdanyow
Just a post mortem comment:  This resolution does leave hanging one feature I had requested here, that is, the ability to force automatic, full object-level validation, either by configuration in the HTML or the JavaScript API.  As it stands now the user is always required to manually write code to execute an object-level validation.
I abandonned that idea when I realized that much (all?) of the need for such a feature would be addressed with the proposed change to ensureObject().satisfies() (see my last comment, above).
But I would not want to foreclose the possibility of this coming up again.  If nothing else, just in terms of conceptual symmetry and elegance, it seems like a hole in the functionality.  We'll see how it goes....

Similar to my last comment just above, I think is this one #349

In a recent comment above, I described the following two cases, both of which I've solved using the existing Aurelia validation api:

Validation messages from rules defined in ensureObject().satisfies() are never associated with a GUI element and thus cannot be rendered to the user via the ValidationRenderer mechanism.

The validate value converter, when a validation is triggered on an associated property, never triggers the evaluation of rules defined by ensureObject().satisfies().

Each of these use cases is solved by defining the rule as a named custom rule, and applying the rule to the properties that depend on it.
This is demonstrated in the following gist:  https://gist.run/?id=37835cb9165093a1c2deb2ea8113e287


What should we do when objects are not getting recognized by print_control_identifiers()

Hi,
I am running into a situation where objects are not getting recognized.  I used print_control_identifier upto depth 5 but nothing is working.  It's so funny that it only recognizes the objects which are disable.  I tried mouse click method which works fine but I don't want to use that as if I move the window I have to update the x an y co-ordinates and that drives me crazy.   I tried to install AutoIT which gives me control_id for these objects but don't know how to use that.
Thanks
Smita

Hey, using control_id is very unreliable because they can change from run to run. It can be used in .child_window(...) criteria as well (as int param control_id), but I wouldn't recommend it at all.
Can Inspect.exe see these objects?

Hi,Inspect.exe is only recognizing "Pane" controller.  There are tons of tree view(+) buttons in pane controller which are not getting recognized at all.  Yesterday I just learned about these tree view buttons  that it is a C++ code.  So don't know pywinauto works with C++ object?  So it looks like I have to work with mouse.click method only.thanksSmita
On Thursday, June 7, 2018 3:09 PM, Vasily Ryabov<EMAIL_ADDRESS>wrote:

Hey, using control_id is very unreliable because they can change from run to run. It can be used in .child_window(...) criteria as well (as int param control_id), but I wouldn't recommend it at all.Can Inspect.exe see these objects?—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Is there any tool other than Inspect.exe which will recognize the controllers?  Right now, I am facing this same problem with other window as well.

I have a similar issue. The control is of type ProfUIS-TabWindow . I am not able to access the tabs.

I am not sure if this is possible. Is there any workaround? Is  there a way to click on a tab based on its text? e.g. If a tab has text Status , Can I find the text Status on the window and click it?

@smitagodbole @madhavankumar If the control is recognized as "Pane", I'm afraid it's a custom control and it can't be automated by pywinauto for now.
One possible way to improve an application testability is implementing action handlers on app side. So developers should be QA friendly. After that it's possible to implement Python wrapper for this custom control that can send custom window messages to this control.
(1) In case of native C++ app it should be window message handlers like OnClick for WM_CLICK message. (2) But for .NET apps UI Automation API patterns should be supported in UI Automation provider for the control (maybe only app side handlers should be enough).
In the first case I can help to implement both app handlers and custom wrapper, but I have no experience with the second case unfortunately.

Hi Vasily,I have another question for you.  Due to the nature of the application our workflows are very big and so as my scripts are getting very big.  Is it possible that if I break up these scrips into small scripts and call from each other?  And what about Windows specification object which have defined at the beginning of the script?  Can I call same object into other scripts?  Some where I read that I can not use/call same window's specification object into another script as it is a different process ID.  Can you please guide me how to work on this?
Thanks for all your help.Smita
On Saturday, June 9, 2018 9:33 AM, smita godbole<EMAIL_ADDRESS>wrote:

Hi,Inspect.exe is only recognizing "Pane" controller.  There are tons of tree view(+) buttons in pane controller which are not getting recognized at all.  Yesterday I just learned about these tree view buttons  that it is a C++ code.  So don't know pywinauto works with C++ object?  So it looks like I have to work with mouse.click method only.thanksSmita
On Thursday, June 7, 2018 3:09 PM, Vasily Ryabov<EMAIL_ADDRESS>wrote:

Hey, using control_id is very unreliable because they can change from run to run. It can be used in .child_window(...) criteria as well (as int param control_id), but I wouldn't recommend it at all.Can Inspect.exe see these objects?—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi @smitagodbole what do you mean saying "another script"? If this is another Python module imported from main script, there should be no problem to re-use existing objects for the same application instance. If you declare window specifications for any app object, this code can also be re-used but you must pass another app object to the particular function/method as a parameter.
As a conclusion you have the full Python power and can do whatever you want. For example, it's possible to inherit your own class from Application and save window specification objects directly to your class instance as you do for app object.

Thanks Vasily !!.
I have one more question, as I am trying to work with couple of desktop applications.  One is Config.py(cApp1) and other is Reg.py(App1)
My test case is like.... 1.  Login to Config App1(cApp1) and doing all necessary configuration and Log off(config.py )2.  Then open the other application i.e. (App1) and going through some steps and log off(reg.py)3.. Then going to 'Report Manager' and open the PDF report and read the data.This all I am trying to do in one Test script.  Is this possible?
I am trying to call reg.py in config.py script  but when I run config.py   it opens reg.py first instead of config.py.  I don't know what to do here.Is this possible.  I don't want to keep open both application.  But right now when I run the config.py it opens both applications.I hope I have explained better this time.
Thanks Smita
On Thursday, June 21, 2018, 9:14:22 AM EDT, Vasily Ryabov<EMAIL_ADDRESS>wrote:

Hi @smitagodbole what do you mean saying "another script"? If this is another Python module imported from main script, there should be no problem to re-use existing objects for the same application instance. If you declare window specifications for any app object, this code can also be re-used but you must pass another app object to the particular function/method as a parameter.
As a conclusion you have the full Python power and can do whatever you want. For example, it's possible to inherit your own class from Application and save window specification objects directly to your class instance as you do for app object.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi @smitagodbole it looks simple problems with cyclic imports or another kind of cyclic dependency of both scripts. Of course, running 2 different apps is possible (even simultaneously, though only one will be in focus). But for detailed answer I need to take a look at the code. Current explanation is too general. So the answer is "yes, it's possible".

Thanks Vasily.  I think we realized this when my configuration object started recognizing. When I run the script always one app is in focus  and looks like all objects are getting loaded.  I am saying this because  we found that some of the C++ objects are started recognizing when running  this script..  So thank you very much .
I have again  couple of more questions.........
1.  I am also having little problem when I tried to iterate with menu Item.  Here is what control identifer is showing me.MenuItem - 'Reports'    (L446, T58, R558, B78)   |    |    |    |    |    | ['ReportsMenuItem', 'MenuItem40', 'Reports', 'ReportsMenuItem0', 'ReportsMenuItem1', 'Reports0', 'Reports1']   |    |    |    |    |    | child_window(title="Reports", control_type="MenuItem")   |    |    |    |    |    |    |   |    |    |    |    |    |    | MenuItem - 'Registration '    (L0, T0, R0, B0)   |    |    |    |    |    |    | ['RegistrationMenuItem', 'Registration', 'MenuItem41', ' MenuItem0', 'MenuItem1', 'Registration 0', 'Registration1']   |    |    |    |    |    |    | child_window(title="Registration", control_type="MenuItem")   |    |    |    |    |    |    |   |    |    |    |    |    |    | MenuItem - 'Payments'    (L0, T0, R0, B0)   |    |    |    |    |    |    | ['Payments', 'MenuItem42', 'PaymentsMenuItem', 'Payments0', ' Payments1', 'MenuItem0', 'MenuItem1']   |    |    |    |    |    |    | child_window(title="Payments", control_type="MenuItem")   |    |    |    |    |    |    |   |    |    |    |    |    |    | MenuItem - 'AutoReports'    (L0, T0, R0, B0)   |    |    |    |    |    |    | ['AutoReports', 'MenuItem43', 'AutoReportsMenuItem', 'Auto Reports0', 'AutoReports1', 'AutoReportsMenuItem0', 'Auto ReportsMenuItem1']   |    |    |    |    |    |    | child_window(title="AutoReports", control_type="MenuItem")   |    |    |    |    |    |    |    |   |    |    |    |    |    |    |    | MenuItem - ' List'    (L0, T0, R0, B0)   |    |    |    |    |    |    |    | [' List', ' ListMenuItem', 'MenuItem44', ' List0', 'List1', ' ListMenuItem0', ' ListMenuItem1']   |    |    |    |    |    |    |    | child_window(title=" List", control_type="MenuItem")   |    |    |    |    |    |    |    |   |    |    |    |    |    |    |    | MenuItem - 'RDS'    (L0, T0, R0, B0)   |    |    |    |    |    |    |    | ['RDS', 'RDSMenuItem', 'MenuItem45', 'RDS0', 'RDS1', 'RDSMenuItem0', 'RDSMenuItem1']   |    |    |    |    |    |    |    | child_window(title="RDS", control_type="MenuItem")
Here I am trying to click on Reports -->AutoReports-->RDS  But some how I am only enabled to click on Reports and later I can not select AutoReports and RDS.  Funny thing is Inspect.exe is not recognizing these two objects either.  So don't know what to do here...
2.  Another question is does pywinauto reads the text on PDF report?
3.  I have dialog that shows more than 10 list items and each list item shows another list items then how can I recognize the list item in second list?
Thanks a lot for your help.
Smita
On Wednesday, July 11, 2018, 2:12:57 PM EDT, Vasily Ryabov<EMAIL_ADDRESS>wrote:
Hi @smitagodbole it looks simple problems with cyclic imports or another kind of cyclic dependency of both scripts. Of course, running 2 different apps is possible (even simultaneously, though only one will be in focus). But for detailed answer I need to take a look at the code. Current explanation is too general. So the answer is "yes, it's possible".
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi @smitagodbole it depends how you open .pdf file. If this is Adobe Reader, it seems it's possible. I see Inspect.exe can access the text in legacy properties. But if it's another app, you should rely on Inspect.exe. Eveything that Inspect.exe can recognize should be accessible to pywinauto.
Also for direct .pdf file parsing you may need something like this: https://github.com/pmaupin/pdfrw
It should be more reliable way.


Add submit logic based on action property

If action is defined, then a sync POST is fired
Otherwise, fires a login event

Add documentantion and demo
Fixes #13

This change is

Pull Request Test Coverage Report for Build 78

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.5%) to 95.833%

Totals

Change from base Build 74:
0.5%

Covered Lines:
26

Relevant Lines:
26

💛  - Coveralls


Add refresh button for balance screen

Current state
In some cases, the account balance is not accurate (combine balance info with some other info: staking....)
Solution
Add a button to refresh service in the tokens screen to manually refresh

Link design:

Extension:

Token list: https://www.figma.com/file/2nYhrm0rlJtfJoMwrT51Ep/SubWallet-Apps?type=design&node-id=243-8468&mode=design&t=Io1fplEFdfSl7ppm-4
Token details: https://www.figma.com/file/2nYhrm0rlJtfJoMwrT51Ep/SubWallet-Apps?type=design&node-id=1214-49096&mode=design&t=Io1fplEFdfSl7ppm-4

WebApp: https://www.figma.com/file/2nYhrm0rlJtfJoMwrT51Ep/SubWallet-Apps?type=design&node-id=2802-84976&mode=design&t=Io1fplEFdfSl7ppm-4

Same as https://github.com/Koniverse/SubWallet-Extension/issues/2381


Is it possible to hide the search box? akin to select2's minimumResultsForSearch property?

There is a dependency on having an input in ui-select so I can't change the input in the template. any thoughts?

Closing this one down as it is the same as #113 and that one is closed.
If needed reopen it please.


Add sysmon event structs

Issue: #50

Codecov Report
Patch and project coverage have no change.

Comparison is base (0a7bca2) 40.00% compared to head (f4dcbfc) 40.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #55   +/-   ##
=======================================
  Coverage   40.00%   40.00%
=======================================
  Files          11       11
  Lines         545      545
=======================================
  Hits          218      218
  Misses        327      327

Impacted Files
Coverage Δ

src/ingest.rs
100.00% <ø> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@BLYKIM
조한테 얘기해서 sysmon 로그 샘플 받아서 구조체와 비교해보세요.
Elastic DB 구성해서 샘플 로그 만들어 둔 것 봤으니까...


Support pseudo columns

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Haven't see that anywhere in the code, so please let me know if I overlooked it.
Spark supports pseudo columns, a pseudo column is a column that has a single value for an entire partition, and can be used to filter data without reading any physical files.
Describe the solution you'd like
reading basepath which contains two directories foo=a and foo=b gives me a dataframe with the utf8 column foo merged into the schema, and a partition for each value.
If I filter on that column, for instance select * from basepathtable where foo = "a" only scans the files in that directory.
Describe alternatives you've considered
Currently AFAIK, datafusion requires you to know the full list of partition directories and read from each individually.
Additional context
Example pyspark code where basepath contains directories like dt={*}
df = self.spark.read.option("basePath", basepath).format("parquet").load(path)
filtered = df.filter((col('dt') >= start) & (col('dt') <= end))

I believe this is exactly the usecase in @rdettai 's epic https://github.com/apache/arrow-datafusion/pull/1141 (tracked by https://github.com/apache/arrow-datafusion/issues/1139)

Right! Note that even after #1141 is merged, the feature will not yet be in the read_xxx APIs, this will be added there with #1185 😊

Awesome, I was tracking @rdettai 's work but I thought it was mostly rewriting table providers and enabling remote storage.

Guess I'll just close this and contribute to the discussion there then


Pooja sprint

modified:   home/static/css/Panel.css
    modified:   home/static/css/Sidebar.css
    modified:   home/static/css/base_home.css
    modified:   home/static/css/create_form.css
    modified:   home/static/css/smart_wizard_theme_arrows.min.css
    modified:   home/static/js/communityPartnerType.js
    modified:   home/templates/home/communityPartnerType.html
    modified:   home/templates/reports/EngagementTypeReport.html
    modified:   projects/templates/projects/checkProject.html
    modified:   projects/templates/projects/createProject.html
    modified:   projects/templates/projects/editProject.html
    modified:   projects/templates/projects/myDrafts.html
    modified:   projects/urls.py
    modified:   projects/views.py

    modified:   home/templates/home/communityPartnerType.html
    modified:   home/templates/home/partners.html
    modified:   projects/templates/projects/myProjects.html


HTTP client methods in EmbeddedHttpServer lack documentation

There is the DoEverything test as an example of how to use it, but it also does not contain any comments to explain what is going on.

Addressed in 7b7a574bc59445900a8de6fb6dbdda706d9b2988. Thanks!


Create branch0114

Adding a new branch

creating a branch.

creating a branch.

Adding one more line

Adding one more line


Clarify remarks for elements based on other standards

This PR hopefully implements the task given in #878 and clarified in #1002 sufficiently.
Closes #878
Closes #1002

As per @pe-ro's request I deleted the term "respective" and am kindly asking both @kepper and @pe-ro to have another look :)

@kepper Your previous approval was discarded by GitHub after the latest changes by @doerners . May I ask you to re-review? Many thanks.

Closes https://github.com/music-encoding/guidelines/issues/189

Thank you everyone!


Improve build instructions and respond to changes in environment

Actually this is still not correct - the actual path is C:\Program Files\MySQL\MySQL Connector.C 6.1\lib\vs14, not C:\Program Files\MySQL\MySQL Server 5.7\lib

That latter will cause a linker error later in the build.


Fix cumbersome pasting with Cmd + V

For some reason, setting the element's contentEditable value to true within a keyboard event, while the element has focus, did not allow pasting with clipboard, unless the element gets clicked explicitly.

This might be a browser security feature, ensuring that a user action is performed before accessing the clipboard.

I do not think so. The thing is that when you press Cmd + V on OS X Chrome (which is a user action), it does not fire the paste event. This happens only when the textarea's contenteditable value is being set to true from false and no click has happened before the keyboard event.


upd(discord-canary): 0.0.163 -> 0.0.165

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
discord-canary : Depends: libgconf-2-4 but it is not installable

Oh crap, completely missed that the tests are failing; I'll look into it tomorrow.

Should be fixed now!


Background img does not respect containment boundaries at center position

Bug Description
When the background layer is dragged and perfectly centered, it ignores the containment/boundaries of the page.
Expected Behaviour
Background should always be covering the page.
Steps to Reproduce
Drag the background img, and position exactly in the center. For more pronounced effect, drag your cursor to the bottom of the page.
Screenshots

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria
QA Instructions

Additional note: Dropping it in that state seemingly auto heals itself, but not in actuality: The zoom slider is now super broken, as it believes the focal point is somewhere other than the center.

Other issues partially cloud this now (the zoom slider is not visible for background images), but otherwise, is this still an issue @pbakaus?

Can't repro anymore, let's close for now.


Client Set returns ErrClusterUnavailable but succeeds

Hi, I'm using KeysAPI provided by the client v2 library to Get some keys and Set them if not exist.
When I build and run the code in the gist immediately after starting etcd in a localhost Docker container, it returns
https://gist.github.com/xh4n3/c5207ff5dd63886a4e5f2b4a8b00a404
2016/06/07 22:31:51 job.go:58: 100: Key not found (/test) [1]
2016/06/07 22:31:52 job.go:62: client: etcd cluster is unavailable or misconfigured
2016/06/07 22:31:52 job.go:71: 100: Key not found (/test) [1]
2016/06/07 22:31:53 job.go:75: 102: Not a file (/test) [3]

Above we can see, the key was not found at first, and the Set command was fired, but returns an ErrClusterUnavailable error. A second Get still return a Not found error, but when a second Set applied, it tells the key is already there.
When I put a time sleep in the middle of two Gets, the second Get returns the correct key.
I think if the etcd would continue to Set the key, it shouldn't return an ErrClusterUnavailable.
Is this by design or I did something wrong? Please let me know.

@xh4n3 Can you fix the gist?

@xiang90 Done.

2016/06/07 19:51:20 etcdt.go:58: 100: Key not found (/test) [3]
2016/06/07 19:51:20 etcdt.go:79: <nil>
exit status 1

I tried your program. It works fine for me. The output is exactly what I would expect. How to reproduce the issue you mentioned?

Just tested it with v2.3.6 etcd, it works, probably I should upgrade my etcd to latest. Seems like a resolved issue?
Here is my script to reproduce this in v2.0.8 etcd, ./etcd is the compiled gist.
Thanks!
#!/bin/bash -x

HostIP=<IP_ADDRESS>

docker rm -f etcd > /dev/null 2>&1 || true

docker run -d -v /usr/share/ca-certificates/:/etc/ssl/certs -p 4001:4001 -p 2380:2380 -p 2379:2379  --name etcd quay.io/coreos/etcd:v2.0.8  -name etcd0  -advertise-client-urls http://${HostIP}:2379,http://${HostIP}:4001  -listen-client-urls http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001  -initial-advertise-peer-urls http://${HostIP}:2380  -listen-peer-urls http://<IP_ADDRESS>:2380  -initial-cluster-token etcd-cluster-1  -initial-cluster etcd0=http://${HostIP}:2380  -initial-cluster-state new

./etcd


fix: add lb and group ip address usage

这个 PR 实现什么功能/修复什么问题:
修正usage未包含lb和group的IP地址统计
是否需要 backport 到之前的 release 分支:

release/2.10.0

Codecov Report

Merging #1284 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master   #1284      +/-   ##
=========================================
- Coverage    7.86%   7.86%   -0.01%
=========================================
  Files         372     372
  Lines       58292   58307      +15
=========================================
  Hits         4586    4586
- Misses      53308   53323      +15
  Partials      398     398

Flag
Coverage Δ

#aFlag
7.86% <0%> (-0.01%)
:arrow_down:

Impacted Files
Coverage Δ

pkg/compute/models/wires.go
2.1% <0%> (-0.08%)
:arrow_down:

pkg/compute/models/hosts.go
0.4% <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 f855f16...de68df4. Read the comment docs.

/approve
/lgtm


Allow gamma correction override via new --gamma argument

Prints from MakePlayingCards.com are too dark and need a 1.22 gamma decrease. Prints from Staples are too light and may (untested) need a 1.22 gamma increase.

Fixed via: https://github.com/ekultails/card_games_converter/commit/edb49ebd95e34c5c9d60a575cb96e6085c804f85


Skip local generation

Have a remote that is vastly faster than local. I'd like the local to continue doing tasks while the remote generates the next image in a sequence. Tried setting local batch size to 0 but that just raises an error. This is a duplicate of #12 but the author of that issue pulled a DenverCoder9 and didn't specify what they did. Adding this so that if I figure it out I can post here.

If it's supposed to be enabled: remote, that doesn't work for me.

Ok, enabled = remote is what the prompt logic in dispatch_to_remote changes the node to before sending the whole prompt to the remote, i.e. it gives the remote a different seed to the local, gives it the remote batch count, and disables the remote so that the remote isn't calling itself. This option should be hidden to the user if possible as it's quite confusing. It looks like I'm going to have to make a PR here so I'll address that.

Different local and remote behaviors can be scheduled by changing the prompt variable in queue after the dispatch_to_remote call. Just used it to change step size of local to 1 while remote stays at 20. Going to make a new option in enabled and have the prompt completely restructured to just be an empty image.


Module not found: Error: Can't resolve '@angular/forms/src/directives/shared'

Bug Report or Feature Request (mark with an x)
- [x ] bug report -> please search issues before submitting
- [ ] feature request

Versions.

@angular/cli: 1.0.0
node: 6.9.4
os: win32 x64
@angular/common: 4.0.0
@angular/compiler: 4.0.0
@angular/core: 4.0.0
@angular/forms: 4.0.0
@angular/http: 4.0.0
@angular/platform-browser: 4.0.0
@angular/platform-browser-dynamic: 4.0.0
@angular/router: 4.0.0
@angular/cli: 1.0.0
@angular/compiler-cli: 4.0.0
Repro steps.

I have a directive where I import:
import {isPropertyUpdated} from "@angular/forms/src/directives/shared";
When I run npm start I get the error.
The log given by the failure.

ERROR in ./src/app/directives/contenteditable-model.directive.ts
Module not found: Error: Can't resolve '@angular/forms/src/directives/shared' in 'C:\Users\landesko\projectDir\angular\src\app\directives'
@ ./src/app/directives/contenteditable-model.directive.ts 12:0-73
@ ./src/app/app.module.ts
@ ./src/main.ts
@ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts
Desired functionality.

Apparently this has something to do with deep imports, however I need to make use of isPropertyUpdated. Is there an alternative?
Mention any other details that might be useful.

The code I use is similar to the code found here:
http://stackoverflow.com/a/40183067/3417943

HI @landesko ,
I was not able to replicate this issue using the same versions you have. Any chance you can upload a repro of this error.
Thanks!

#5707 The same issue is found there as well.

check out your imports on this ts file. probably you misuse a module

I'm having this same issue post 4.0 update with:
import {isPropertyUpdated} from "@angular/forms/src/directives/shared";
throwing this error:
Failed to compile.

./src/app/shared/contenteditable/contenteditable-model.ts
Module not found: Error: Can't resolve '@angular/forms/src/directives/shared' in '/Users/njonas/Code/lists/src/app/shared/contenteditable'
 @ ./src/app/shared/contenteditable/contenteditable-model.ts 11:0-73
 @ ./src/app/shared/contenteditable/index.ts
 @ ./src/app/tasks/tasks.module.ts
 @ ./src/app/app.module.ts
 @ ./src/main.ts
 @ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts

Any ideas?

I am not misusing a module. It has to do with the deep import functionality being deprecated. Please read the post before commenting.

I am having the same problem only after upgrading to latest v4:
ERROR in ./src/app/directives/drag-and-drop/drag-and-drop.directive.ts
Module not found: Error: Can't resolve '@angular/forms/src/facade/async' in '/Users/ma
ximilianosuster/Development/angular-agentsection/src/app/directives/drag-and-drop'
 @ ./src/app/directives/drag-and-drop/drag-and-drop.directive.ts 10:0-63
 @ ./src/app/app.module.ts
 @ ./src/main.ts
 @ multi webpack-dev-server/client?http://localhost:4200/ ./src/main.ts

The exact same code works perfectly fine and without errors in a different branch that remains with v2.4.

Heya, can you report this in https://github.com/angular/angular instead? This isn't something that can be addressed on the CLI repro, because it has to do with how Angular itself is packaged.

Where is the tracking for this bug? I continue running into this, even with 4.1.3.


[FIX] Auth code not being decoded properly

The auth code was being encoded 2 times causing an "invalid_grant"
error to be thrown. The fix is to decode the incoming auth token
first before the body object is stringified.

Fixes https://github.com/buttercup/buttercup-desktop/issues/835

This is excellent! We'll get this moving..

Used the low level unescape, exported from querystring stdlib, method for cleaner parsing


Implement endpoints to edit course modification requests

Subtask to set up the backend endpoints for the user story defined at https://github.com/JamesPartsafas/ConcordiaCurriculumManager/issues/6
Create endpoint so users can edit modify course requests
[Story Points: 2]
[Priority: High]
[Risk: Medium]

demo


fix: support non-json input files in jq

Fixes https://github.com/aspect-build/bazel-lib/issues/162

Added example to docs


AttributeError: 'JobSubmissionEvent' object has no attribute 'scheduled_run_time'

after job start,  sometime appear err like this,   version is  0.4.1：
Error notifying listener
Traceback (most recent call last):
File "E:\ProjectPy\Gantry_Scheduler\venv\lib\site-packages\apscheduler\schedulers\base.py", line 831, in _dispatch_event
cb(event)
File "E:\ProjectPy\Gantry_Scheduler\venv\lib\site-packages\django_apscheduler\jobstores.py", line 123, in handle_error_event
event.scheduled_run_time,
AttributeError: 'JobSubmissionEvent' object has no attribute 'scheduled_run_time'

Looks like we are using the wrong event classes in some of the event listeners.
There is a potential fix in pull request #99 - would you mind giving it a try to see if it resolves your issue? This one is difficult for me to test locally as I have never encountered a EVENT_JOB_MAX_INSTANCES error in my own use case.

Looks like we are using the wrong event classes in some of the event listeners.
There is a potential fix in pull request #99 - would you mind giving it a try to see if it resolves your issue? This one is difficult for me to test locally as I have never encountered a EVENT_JOB_MAX_INSTANCES error in my own use case.

it's work,  it don't appear the error again ,  thanks


Can I define the dynamic struct of Rust in rhai ?

Not sure what you're asking for.  Can you be more specific?
Typically a Rust struct is an object map in Rhai.

I want to do such a function to verify online whether json can serialize Rust structures normally.
The json string and the Rust struct are dynamically passed to rhai at the front end. How doesrhai convert this struct string to the real struct of Rust.

For a struct to be serializable, you need to put serde::Serialize on it.  Therefore, not just any struct, but serde::Serialize marked structs.
You can probably impl a method on your struct type that takes the JSON string and attempts to deserialize it?
Then your Rhai script can simply call this method.

This structure is not predefined in rust code, but a dynamic rust struct generated by accepting input in rhai

This structure is not predefined in rust code, but a dynamic rust struct generated by accepting input in rhai

How would you "dynamically" generate a Rust struct?  Rust programs are pre-compiled.
Do you plan to have Rhai generate Rust source code for subsequent compilation?

Do you plan to have Rhai generate Rust source code for subsequent compilation?

I think Rhai can do more extensions after it has this function, but I'm not familiar with Rhai now, but I'm interested in rhai

I think Rhai can do more extensions after it has this function, but I'm not familiar with Rhai now, but I'm interested in rhai

Rust is a compiled statically-typed language.  There is no way to generate a dynamic data type at runtime.
You can, however, work directly with the standard rhai::Map type which is an object map with dynamic properties.  This may fit your purpose.

So, I need to convert my custom Rust dynamic structure to Rhai's Map object by myself ?

Golang can do this, because of reflect:https://stackoverflow.com/questions/40559250/golang-dynamically-creating-member-of-struct.
Rust how to do

Golang can do this

That's called "reflection" (notice the calls to reflect in that SO article).  Rust doesn't have it, so it is impossible to do that in Rust.

So, I need to convert my custom Rust dynamic structure to rhai::Map object by myself ?

You can simply use rhai::Map everywhere.  It is a Rust type (an alias to BTreeMap), it allows you to dynamically add/delete properties of any type, it does the same function as a struct (allowing you to look up property values), and it supports serialization to/from JSON.

Oh, this Rhai::Map can't be satisfied for the time being, because I need deterministic structures. Rhai::Map is dynamic and cannot be checked

In that case, there isn't a lot can be done...

Closing this for now.  Putting wontfix on it.