value_to of a wrong sized Object return an error a bit misleading and a bit to improove

Version of Boost
1_82
Steps necessary to reproduce the problem
https://godbolt.org/z/7jdn9xh6f
The returned error is
terminate called after throwing an instance of 'boost::detail::with_throw_location<boost::system::system_error>'
  what():  array size does not match target size [boost.json:31 at /opt/compiler-explorer/libs/boost_1_82_0/boost/json/detail/value_to.hpp:567:9 in function 'boost::json::result<T> boost::json::detail::value_to_impl(boost::json::try_value_to_tag<T>, const boost::json::value&, described_class_conversion_tag)']

Which is a bit misleading, it should be object size, but the problem is the lack of context, working with a big json will quickly require to have to use a debugger to pinpoint the actual element which had the error.
I think an error like, would be much better
The object at /path/to/2/object
Has more element than the destination T

Now I do understand the implication of building a json pointer for all the element can easily be a performance killer, so maybe defining a macro can be a viable option ?
Or I can try to play with somekind of linkedlist structure to store the string_view of the key that composes the path, and in case of error is assembled and used.

There's basically no way to put that information into the error_code. If you really want to collect that information, you could use a custom handler that stores the path into the document (in addition to building the result). ANd if an error occurs, print it together with the exception/error_code.
The error message is indeed misleading though, so I will change it.

Yes I tried to play around the error_code, and they only way to carry such information will be abusing the
char * source_location

Which I orrible to say the least.
Do you have any suggestion on how to use a custom handler ? I tried to play around, but I have no idea except review the whole value_to system to have allow customization point (some kind of visitor pattern)

Wait, disregard my suggestion for handler, it has nothing to do with value_to. I guess, there's no way to do this except for using a completely custom conversion system.

Do you think a macro based approach can be ok ?
Something like adding
(before value_to invocation)
#define BOOST_PATH_SOMETHING(X) //where X is the class that will handle collecting the info
Inside actual library code a few of
BOOST_PATH_PUSH()
BOOST_PATH_POP()
and in case of error you will have
x.composePath()

Are you suggesting that we add this to the library? I don't think we'll do that.

Think is not a "hard" no...
Maybe you can be interested in a proof of concept ?
If you want we can discuss on the slack channel too.

If you really want to make such a proof of concept, I can't stop you. But the chances of it getting adopted are very slim.

Well in any case I need for myself, and it will be far easier than rewire a value_to subsytem.

How would it even work without patching every value_to helper? What is supposed to call push and pop?

Still thinking about it.
The basic idea is some kind of poor man lambda, (lambda is a class with operato() in disguise after all no )
So you define this class before starting the value_to chain of operation in userspace code.
You also have to define the 2 macro push and pop to operate using it and not to be a NO-OP
That is more or less the idea, which I took just a few line below here
https://github.com/boostorg/json/blob/be759c5051b828f77b59d5c67b9b53d7330e627e/include/boost/json/detail/value_to.hpp#L516

Actually, now that I think about it, it might be possible to achieve this using contextual conversions (a new feature that will be in 1.83).

I am all hears... what is this and can I do something ?

This could actually be an interesting example.

Keeping track of the path in the context in one way to do it, but the exception must still propagate upwards unscathed. (This can be done by the user via a custom context.)
The other way of doing this is building the path on the way up as the exception propagates. (This can't be done by the user and must be done by Boost.JSON.)


more documents required!

Thanks for open source! It looks like a great package! But currently it seems hard to follow with the limited documents, in particular:

the data set ml20m-all is not in a normal user-item-rating format, and thus I am not sure what should be the input of the network, and what exactly problems the network can solve (rating prediction, ranking? clearly it is more about recommendation rather than image classification I can see).
the network structures currently available file seem all to be autoencoder, it would be nice to see some documents describing these networks for the specific recommendation problem, and other network structures that the package supports (or probably used in Amazon).

Thanks @yield22 for the feedback. Answers to your questions are below
1 . You can use this for Rating prediction,Ranking or use it for regression. It will boil down to how you formulate the problem for the Neural Network to learn.
2.  You are absolutely correct that the current file is for auto encoder.  We will add more documentation describing these networks. As we add more features we will be adding more network structures that the package supports
Do let us know your feedback and concerns as we value it a lot

Hi, I'd also love to see a more complete documentation, for example about the data format expected.
Readme states it should look like this:
Example1    Feature1:Feature2:Feature3
but what does it mean? Feature1 is and index? A value? Both? In what order?

Analog input as Signals is supported in the DSSTNE Engine but not exposed in the wrapper .  Only Digital Signals are supported.
Feature1 is a featureName
Order is not important as the entire example is taken and input layer activated
We will be exposing on how to do analog signals soon

Hi @rgeorgej, can you discribe the sample ml20m-all dataset? It's a bit difficult to map the content of this file to the movie lens dataset (they contain three files). Thanks!

ml-20m has 4 files links.csv,movies.csv,ratings.csv  and tags.csv. For the example here we took the ratings.csv file and flattened out to to userId and their  rating time stamps.
1,2,3.5,1112486027
1,29,3.5,1112484676
1,32,3.5,1112484819
1,47,3.5,1112484727
1,50,3.5,1112484580
1,112,3.5,1094785740
1,151,4.0,1094785734
1,223,4.0,1112485573
1,253,4.0,1112484940....
was converted to
1      2,1112486027:29,1112484676:32,1112484819:47,1112484727:50,1112484580:112,1094785740:151,1094785734:223,1112485573:253,........
Do let us know if you need any more clarification


Modify viscosity in stabilization tau

Description of the problem

For phase change problem, the viscosity used in the tau computation for the stabilization in the solid used the numerical solid viscosity. Since this solid viscosity has no physical meaning, it was weird to used it, and the linear solver seemed to converge slower.

Description of the solution

Introduce new attributes in NS scratch data kinematic_viscosity_for_stabilization and dynamic_viscosity_for_stabilization. Both are computed by the rheology model. For now, except in the phase change, it returns the current viscosity. However, in the phase change rheology model, it returns the liquid viscosity.

How Has This Been Tested?

The melting cavity case was used to insure that the results stay the same and to show better convergence of the linear solver.

[x] heat_transfer_phase_change_constrain_solid_domain

[x] heat_transfer_vof_phase_change_constrain_solid_domain

Those two tests were changed to have a more representative behaviour.
Future changes

Test the viscosity scale in VOF and non-newtonian cases to see if it brings some gains

@hepap can you rebase? This will then be ready for merge

@blaisb it's rebased!

@hepap something went wrong in your rebase I think


Implement RFC 277: native error throwing

PR Summary
Continuation of @rkeithhill's work in https://github.com/PowerShell/PowerShell/pull/15757.
Implements error throwing with error action preference integration for native executables, similar to set -e scenarios on *nix.
PR Context
See on PowerShell/PowerShell-RFC#277.
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[ ] None
OR
[x] Experimental feature(s) needed

[x] Experimental feature name(s): PSNativeCommandErrorActionPreference

User-facing changes

[ ] Not Applicable
OR
[x] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[x] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

/azp run

@rjmholt The test failure looks to be unrelated to this PR:
2021-08-11T20:17:16.3350310Z       [-] Charset Parsing 459ms
2021-08-11T20:17:16.4828790Z         Expected the actual value to be greater than 5, but got 1.17675925425336.
2021-08-11T20:17:16.4859440Z         1998:             $pathologicalRatio | Should -BeGreaterThan 5
2021-08-11T20:17:16.4890010Z         at <ScriptBlock>, /Users/runner/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/WebCmdlets.Tests.ps1: line 1998

Kick off a new build.  Maybe we get lucky this time.  :-)

/azp run

And now its OutputRendering tests that fail.  🤦♂
2021-08-16T21:26:04.1777043Z   Describing OutputRendering tests
2021-08-16T21:26:07.6249234Z +++++++++
2021-08-16T21:26:07.6254151Z     [-] ToString(OutputRendering) works correctly
2021-08-16T21:26:07.6260110Z       Expected an exception, with FullyQualifiedErrorId 'ArgumentException' to be thrown, but no exception was thrown.
2021-08-16T21:26:07.6264930Z       87:         { $s.ToString([System.Management.Automation.OutputRendering]::Host) } | Should -Throw -ErrorId 'ArgumentException'
2021-08-16T21:26:07.6270964Z       at <ScriptBlock>, D:\a\1\s\test\powershell\engine\Formatting\OutputRendering.Tests.ps1: line 87
2021-08-16T21:26:07.6274949Z
2021-08-16T21:26:07.6279622Z
2021-08-16T21:26:07.6283831Z   Describing Tests for $PSStyle automatic variable
2021-08-16T21:26:07.6288223Z     [-] $PSStyle has correct default for OutputRendering
2021-08-16T21:26:07.6292617Z       Expected exactly 'Host', but got Automatic.
2021-08-16T21:26:07.6297140Z       86:         $PSStyle.OutputRendering | Should -BeExactly 'Host'
2021-08-16T21:26:07.6301283Z       at <ScriptBlock>, D:\a\1\s\test\powershell\engine\Formatting\PSStyle.Tests.ps1: line 86
2021-08-16T21:26:08.0115973Z +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

/azp run

/azp run


Fix running latex cell with cell marker

Fixes #10531

Codecov Report

Merging #10556 (9dd2944) into main (e09de76) will increase coverage by 0%.
The diff coverage is 100%.

@@          Coverage Diff           @@
##            main   #10556   +/-   ##
======================================
  Coverage     71%      71%
======================================
  Files        472      472
  Lines      27987    27992    +5
  Branches    4689     4691    +2
======================================
+ Hits       19919    19946   +27
+ Misses      6190     6172   -18
+ Partials    1878     1874    -4

Impacted Files
Coverage Δ

...ractive-window/editor-integration/codeGenerator.ts
91% <100%> (+<1%)
:arrow_up:

src/notebooks/outputs/tracebackFormatter.ts
93% <0%> (-7%)
:arrow_down:

src/platform/common/utils/localize.ts
76% <0%> (-1%)
:arrow_down:

.../notebooks/controllers/vscodeNotebookController.ts
81% <0%> (ø)

...ctive-window/editor-integration/codeLensFactory.ts
89% <0%> (+<1%)
:arrow_up:

src/kernels/execution/cellExecutionQueue.ts
82% <0%> (+1%)
:arrow_up:

src/kernels/errors/kernelErrorHandler.ts
64% <0%> (+1%)
:arrow_up:

src/kernels/jupyter/jupyterKernelService.node.ts
81% <0%> (+1%)
:arrow_up:

src/kernels/jupyter/session/jupyterSession.ts
75% <0%> (+2%)
:arrow_up:

src/kernels/execution/cellExecution.ts
73% <0%> (+2%)
:arrow_up:

... and 4 more


Update CHANGELOG link

Update the releases notes link to not point to the wiki, as the wiki is old content and just points to the GitHub releases. This removes the additional indirection to view the content when users reach it through dependabot pull request notes.

Thanks @martincostello


Add .envrc to allow direnv to pick up paths

This PR adds a .envrc file to the root of the project, that adds ./bin/ and ./scripts/bin to $PATH. If you have direnv installed this makes hermit work and the infra script accessible.

But that is only if you have hermit installed on your host, which I don't. Using .envrc means you can checkout the repo without needing hermit installed, and hermit works locally within the project. Hermit is far more niche than direnv.


webapp dev server ssl

vite plugin provides a simple self-signed cert for localhost ssl. this is nice because

some browser api are only available on ssl pages
simplifies dev when restricting transport connections to ssl pages

i don't think this interferes with any CI or tests
fixes #284

aside: note the big pnpm lock diff. someone doesn't have buf registry configured and keeps stripping the registry information from the lockfile


Bugfix for #3659 st2ctl clean not reading the database connection

Fix for #3659
This adds functionality of reading database connection information from the config and passing it to the mongo command during st2ctl clean when dropping the database.
For simplicity i've used crudini to parse the config since crudini is installed by one-liner install method. I found several other methods to do this in pure bash but they were all very complicated. If you would like me to remove the crudini dependency i'd be happy to do so.
If crudini is not present in PATH when invoked then the following warning will be printed out:
WARNING: The 'crudini' command is not present in PATH, using default database connection options. To use database connection options from the config, and suppress this warning, please install 'crudini'

In this case we'll fall back to use the default database name of st2 with no additional arguments. This is the exact behavior that was seen prior to this change, so this should be backwards.
Note
The only thing i wasn't sure about  was ssl_certfile and ssl_keyfile. In the mongo CLI there appears to only be one option to encompass both of these --sslPEMKeyFile . From the man page:
       --sslPEMKeyFile <filename>
              New in version 2.4.

              Specifies  the  .pem  file  that contains both the SSL certificate and key. Specify the file name of the .pem
              file using relative or absolute paths.

              This option is required when using the --ssl option to connect to a mongod or mongos that has CAFile  enabled
              without allowConnectionsWithoutCertificates.

              The  default  distribution  of MongoDB does not contain support for SSL.  For more information on MongoDB and
              SSL, see http://docs.mongodb.org/manual/tutorial/configure-ssl.

I've implemented logic to first use ssl_certfile if specified in the config, otherwise use ssl_keyfile if specified. Any guidance here is appreciated.

I was thinking about re-using existing python functionality (st2common and so on) which will purge the DB, based on existing st2.conf settings. And then just invoke that python script from st2ctl, like we do with st2-register-content. This way we get rid of mongo shell dependency and don't add another dependency like crudini.
Curious what others @StackStorm/team think about it? Is this PR good enough for the time being or we need something better?

Yeah, another option which would allow us to re-use code from st2 would be to add this functionality to st2common and script and utilize that inside st2ctl.
That approach should be more robust because it would rely on the underlying mongoengine and / or pymongo functionality. In addition to that it also allows us to test that code and all other benefits which go with the "code" approach.
Also, thanks for bringing this up and working on it :+1:

@Kami @armab That makes a lot of sense. I especially like it from a testing perspective. Let me re-work this PR and get back with you. FYI, going to take me a few days because i'm traveling this week.

Great, thanks - and no rush :)

I’d say st2common/persistence/cleanup.py probably makes the most sense
I was also going to say look at how the bootstrapping code works, since that’s kind of the same model re: st2ctl, but that code leverages persistence anyways, and this is closer to the DB
So yeah, a new file in persistence makes sense. It’s kind of icky because the majority of the files in there are pertinent to specific DB models, and this is more of a housekeeping function, but there’s already a precedent for that kind of thing (db_init) so I say GFI. And as @kami pointed out, this way the core of the functionality is in "core" st2, which means it can be properly tested, and st2ctl can simply refer to it.

@armab and @Mierdin based on your suggestions i've implemented a new command st2-cleanup-db that drops the MongoDB database using the information in the /etc/st2/st2.conf config (or whatever config you specify on the CLI).
This is my first "real" PR to the main StackStorm repo, so feedback is appreciated.
I've also created a corresponding PR in st2-packages repo https://github.com/StackStorm/st2-packages/pull/494. Are there any other places that i need to update with the new command?

You have my +1. Let's wait for @Kami or @m4dcoder to +1 as well.

Is there something else i need to do for this? If i've missed something in the review comments, please let me know.
Thanks!

@nmaludy We've exceeded the time to get this merged. Sorry about dropping the ball here. I went ahead and approved the PR. I see no strong objection to merging this from either @Kami or @m4dcoder

@lakshmi-kannan @Kami Looks like i waited too long and there was a merge conflict from another PR. I've resolved the conflict and this should be good to merge

Merged, yay! :)
Thanks again.


supabase

Hi,
is supabase mandatory as database, or is it possible use a lighter database like postgresql for self hosting?

Supabase uses PostgreSQL under the hood. It just provides functionality that we need such as authentication. Shouldn't be any heavier than raw postgres.

ok, I will try that with supabase

why not include supabase as a part of the stack then?  this looks pretty great but I'm not sure I want to deploy a supabase instance I just want an rss reader that's modern.


Update style.css

The previous background is not quite good for users. I make a slight change in the background.

Share Screenshots of updates

nice but add dark and light theme fork sync and update your UI nice

don't raise PR to master to master


Implementation of BasicsOfDynSysImplementationGuide class that inherits by Guide document

Class in documents.document.py is to be implemented. Reporting components from guides.en.py  regarding BasicsOfDynSysImplementationGuide should be used.

The code was checked with the following call:
from dynpy.utilities.documents.document import BasicsOfDynSysImplementationGuide
BasicsOfDynSysImplementationGuide();

Done


abseil's absl::is_trivially_copy_assignable uses deprecated, broken compiler builtin

As a side effect of implementing DR2171 for clang, we have discovered that absl::is_trivially_copy_assignable uses the __has_trivial_assign compiler builtin.
This compiler builtin has bad semantics when deleted functions are involved because clang considers them trivial for this purpose. Specifically it appears that MSVC stl delete the copy assignment operator for  volatile& std::pair which causes abseil to assert when instantiating absl::Optional<std::pair<int, int>> with MSVC stl.
This has been discussed over at https://reviews.llvm.org/D127593. We might revert this change momentarily, but it would be helpful if abseil will stop using the __has_trivial... builtins.
Note that GCC uses the same 'deleted is trivial' semantics as clang, and that those builtins have been deprecated for quite some time: this is a discussion of the same issue from 2017: https://github.com/llvm/llvm-project/issues/33063

On the Mozilla side: https://bugzilla.mozilla.org/show_bug.cgi?id=1779528 (firefox uses libwebrtc which uses abseil-cpp)

In addition to __has_trivial_assign, abseil uses __has_trivial_copy and __has_trivial_constructor in type_traits.h which are also deprecated.

https://github.com/abseil/abseil-cpp/pull/1289


Cherry pick #1845

Description:
Cherry pick #1845

@AlfredoG87 in PR comments can you note why didn't SDK versions are being used

@AlfredoG87 in PR comments can you note why didn't SDK versions are being used

I am opening a ticket on the sdk repo, so we tracked the issue and once is solved we can try to upgrade again.


Add $(..).attr

I see there is no a getAttr function, but there is a setAttr
is there a reason for this? or just pending feature?

Yes, let's add it!


Refactor json_encode and json_decode

Needless to say, this is annoying, can you please refactor these methods that only exist to throw exceptions to something else, it's quite intrusive.

I have the same issue, sure. It is quite annoying. But the methods are properly namespaced and this is more an issue with the IDE.
Also, releasing a version with these functions renamed is a BC break and will require a new major version.


Fix continuous features with similar prefix

This simple change fix a possible error when a continuous feature has the same prefix as a categorical one (col.startswith(col_parent) would be True in this case). With that small addition, this would not happen.

Thanks, @rmazzine


Add utility to convert Au time quantity to chrono duration

We could call this to_chrono() or as_chrono().

As of Arm GNU Toolchain 13.2 (released Oct 30), it throws an error that <chrono> is not available in freestanding implementations. Take care so this does not break builds. (In fact, that has been the kick for me to finally try out Au).

Sorry for not being clearer with my edit - I did some more reading (including comments in that issue), and it seems that newlib (and perhaps similar alternative libc implementations) is in a weird limbo, where formally it should be -ffreestanding, but practically it behaves like a hosted implementation. Removing that flag does allow <chrono> to work.
The issue is, I believe, with those truly freestanding codebases, which don't depend on much (if any) of the standard library, but it seems as those were never really supported, so there's that.
No, it's not a feature I'd find useful - I'm using newlib for the C standard library and GNU's C++ standard library on top of it, and changing my build flags fixes things.

OK, thanks for following up and clarifying.  If we ever get requests for "true freestanding", it'll be interesting to see if we can satisfy them!


Raf 324: Json actor

The following design choices have been made for this iteration:

When template references are not found in the input Json the field is set to null
references are marked by having a colon (:) as first character
The template is not yet validated (except implicit verification that it is valid json): expression syntax would be nice to have been checked before creating an actor, but it would be best to have a facility for that in the JsonExpressionParser

The ':' Notation for expressions is, in my always humble oppinion, very easy to miss when you read the code. I would prefer expressions to be identified with double accolades like {{EXPRESSION}}.

curly braces interfere with json ...
what about $variable?
On May 19, 2015 2:35 PM, "Koen Verschuren"<EMAIL_ADDRESS>wrote:

The ':' Notation for expressions is, in my always humble oppinion, very
easy to miss when you read the code. I would prefer expressions to be
identified with double accolades like {{EXPRESSION}}.
—
Reply to this email directly or view it on GitHub
https://github.com/coral-streaming/coral/pull/60#issuecomment-103470211.

Curly braces wouldn't interfere as the expression would still need to be a json string ("{{ ... some expression ... }}"), and they indeed do have more of an in-your-face quality than the modes colon.
The dollar variable for an expression would also be for an expression probably more elegantly indicated with surrounding braces ("${... some expression ...}").
These constructions might hint that "average is ${expression1} and sd is ${expression2}" are possible constructions, which is not the case (expressions may return other types than strings). This is why I would prefer some prefix notation.
I'll however happily leave a decision up to the aesthetics committee.

After some more thinking this is my humble proposal:

we need to maintain valid json
we need to have a mechanism to switch context where expression are
evaluated rather then interpreted as strings

what we could do is to do that as a global value syntax context switch.
let me explain myself
if we find
"jsonfield" : "some text literal here"
the value is a string
if we find
"jsonfield" : "${ trigger.city }"
trigger.city is parsed from the variable trigger with json path accessing
the field city
in this way we need only to check for
"${  as open delimiter for the expr context and  }" for the closing
delimiter
In the unlikely case that a use wants a string literal starting with ${ and
ending with }" then it must be escaped as /$. further leading / in a string
literal must be doubled up for escaping.
a value wide context switch will allow us in the future to do things like
"jsonfield" : "${ trigger.checkins + 1}"
or
"jsonfield" : "${ trigger.amount > 23}"
since the expression parser is going from json to json, it makes sense to
me to interpret/parse it as a proper subset of the javascript grammar. (by
defining our json access via json path we are actually already complying
herewidth)
On May 22, 2015 10:18 AM, "Ger van Rossum"<EMAIL_ADDRESS>wrote:

Curly braces wouldn't interfere as the expression would still need to be a
json string ("{{ ... some expression ... }}"), and they indeed do have more
of an in-your-face quality than the modes colon.
The dollar variable for an expression would also be for an expression
probably more elegantly indicated with surrounding braces ("${... some
expression ...}").
These constructions might hint that "average is ${expression1} and sd is
${expression2}" are possible constructions, which is not the case
(expressions may return other types than strings). This is why I would
prefer some prefix notation.
I'll however happily leave a decision up to the aesthetics committee.
—
Reply to this email directly or view it on GitHub
https://github.com/coral-streaming/coral/pull/60#issuecomment-104561676.

the main difference between my proposal and Gers is that in his solution
there is an implicit concatenation of strings, which requires the
expression to be necesarily recasted as string. so I would not go there but
in fact fold it as follow.
mutatis mutandis:
"jsonfield" : "${'the city is ' + trigger.city }"
On May 22, 2015 12:02 PM, "Natalino Busa"<EMAIL_ADDRESS>wrote:

After some more thinking this is my humble proposal:

we need to maintain valid json
we need to have a mechanism to switch context where expression are
evaluated rather then interpreted as strings

what we could do is to do that as a global value syntax context switch.
let me explain myself
if we find
"jsonfield" : "some text literal here"
the value is a string
if we find
"jsonfield" : "${ trigger.city }"
trigger.city is parsed from the variable trigger with json path accessing
the field city
in this way we need only to check for
"${  as open delimiter for the expr context and  }" for the closing
delimiter
In the unlikely case that a use wants a string literal starting with ${
and ending with }" then it must be escaped as /$. further leading / in a
string literal must be doubled up for escaping.
a value wide context switch will allow us in the future to do things like
"jsonfield" : "${ trigger.checkins + 1}"
or
"jsonfield" : "${ trigger.amount > 23}"
since the expression parser is going from json to json, it makes sense to
me to interpret/parse it as a proper subset of the javascript grammar. (by
defining our json access via json path we are actually already complying
herewidth)
On May 22, 2015 10:18 AM, "Ger van Rossum"<EMAIL_ADDRESS>wrote:

Curly braces wouldn't interfere as the expression would still need to be
a json string ("{{ ... some expression ... }}"), and they indeed do have
more of an in-your-face quality than the modes colon.
The dollar variable for an expression would also be for an expression
probably more elegantly indicated with surrounding braces ("${... some
expression ...}").
These constructions might hint that "average is ${expression1} and sd is
${expression2}" are possible constructions, which is not the case
(expressions may return other types than strings). This is why I would
prefer some prefix notation.
I'll however happily leave a decision up to the aesthetics committee.
—
Reply to this email directly or view it on GitHub
https://github.com/coral-streaming/coral/pull/60#issuecomment-104561676
.

The ${ ... } construct is adopted as identifier for expressions


Enhancement to auto-set z-indexes

In order for <Sticky>s and their content to correctly scroll 'underneath' their parents, z-index's must be set accordingly. Currently this must be done 'manually' by explicitly setting z-index on <StickyContainer>s and <Sticky>s style properties.
This is not feasible when dynamically generating hierarchies which are non-deterministic in depth, and when the same Component can potentially be reused at different depths in the hierarchy.
This PR adds a zIndex property to <StickyContainer> that can be used to manage automatically generating z-indexes for descendants starting from some base z-index, or disabling all together.
Please read README in PR, and source, for further details.

It seems there's a lack of interest here, and along with the divergence of other features we've since added (such as vertical stickies), we're closing this PR.


Add L0x0 processor family

I used the L0x1 definitions and patches as starting point and migrated it to work with L0x0.
I received the SVD file directly from ST with the license specified as Apache 2.0 (I put the SVD and license text here:  https://github.com/jglauche/STM32L0x0 )

By the way, don't worry about the mmaps job failure, that's expected when adding a new zip file; all the other jobs pass which is what matters.

I'm not sure about the deletion of WRPROT1/2 since they seem to exist in the SVD just fine, maybe L0x1 didn't have them or they needed recreating or something? Probably the best thing to do is just remove the deletions from the L0x0 YAML.
Okay, looks like I let them in because I didn't see the patch that it adds them back in. I remove it.

Finally, it's really interesting that you were able to get an Apache 2.0 licensed SVD file from ST. Did you ask specifically for that licence? It would be great if ST would release more of their SVDs under open source licenses like that.
Yes!
So I asked them for an SVD file, they sent it to me. I then asked about the license that I can use to publish on github, they came back after quite a long while telling me that I can use it under the terms of the Apache 2.0 license.

Regarding I2C; it looks like that this line from the HAL crate crashes (and reboots) my firmware.
            self.i2c.icr.write(|w| w.nackcf().set_bit());
I'm currently quite lost in what exactly happens here and why.

I still haven't figured out my I2C issues, but I believe this is an issue with the L0 HAL crate. I double-checked all the I2C registers from the reference manual and as far as I can tell it matches the SVD.
Is there anything blocking merging the PR at the current state? Github tells me that there's a change requested but then shows all requests resolved.

Thanks! No outstanding requests at the moment, I just need to make some time to review the recent changes and hit merge, hopefully within the next day or two.

Looks good, thanks again for this PR!
bors merge


Add Wizer option to rename functions.

When initializing a module, it is sometimes useful to rename a function
after the module has been modified. For example, we may wish to
substitute an alternate entry point (for WASI, this is _start())
since we have already performed some initialization that the normal
entry point would do.
This PR adds a -r option to allow such renaming. For example,
$ wizer -r _start=my_new_start -o out.wasm in.wasm

will rename the my_new_start export in in.wasm to _start in
out.wasm, replacing the old _start export. Multiple renamings are
supported at once.
A followup PR will add a simple C++ example that shows how this can be
used to run C++ static constructors and other program initialization
with Wizer, and then invoke main() without re-running these
constructors.

Updated to include a golden-output test; ready for review now.

Closing as we'll just merge both commits (this one and C++ followup) in #5.


setting the anonymous property on a plugin is not possible in a declarative way

I want to configure the property 'anonymous' on the jwt authentication plugin.  As this requires the uuid of the consumer and I cannot set the uuid of the consumer in the kongfig file, it is not possible to do this in a declarative style.
The following desired configuration results in  {"config.anonymous":"the anonymous user must be empty or a valid uuid"}
consumers:
  - username: anonymous
    plugins:
      - name: request-termination
        attributes:
          config:
            status_code: 403

plugins:
  - name: jwt
    attributes:
      config:
        claims_to_verify: [ 'exp', 'nbf' ]
        anonymous: 'anonymous'

Specifying the custom_id does not help either and I cannot set the customer id.

This is merged into master https://github.com/mybuilder/kongfig/commit/7dcedc80b408382ae658453f910a6fb56c25c88c will be in the next release.


Blocked event loop

I just try to make something for testing blessed.
But I have a problem. I call a function with exec command in blessed UI. But it is hanged during for executing shell command. And if I stroke keyboard several times, then it'll be worked step by step. The code snippets are below. And you can test from https://github.com/golbin/git-commander
Git.prototype.add = function () {
  var deferred = Q.defer();

  process.exec('git add ' + this.getFiles(), function (err, stdout, stderr) {
    if (err) {
      deferred.reject(err);
    } else {
      deferred.resolve(stdout);
    }
  });

  return deferred.promise;
};

//...

screen.key(['C-a'], function () {
  loading.load('excuting...');

  git.add()
    .fail(function (err) {
      // TODO: show alert box
      console.log(err);
    })
    .done(reload);
});

It works right if I use child_process.execSync instead of child_process.exec.
But I would like to know why. And is there way to fix it even if I use child_process.exec?.

Could you give me a standalone gist that replicates this issue?

And if I stroke keyboard several times, then it'll be worked step by step.

This makes me think that you may not be calling screen.render() in the reload() function when needed. A full gist would be appreciated.

I changed my code from async to sync logic so I cannot replicate this. I'll report again when I'll be faced this. Thanks.


Exporting a google doc file

Hi,
I am trying to add functionality to export a google doc file as a pdf as mentioned in the docs here:
https://developers.google.com/drive/v2/reference/files/export
On creating the request, it gives a "unity google drive exception : required parameter mimetype" HTTP/1.1 400 Bad Request
How do I specify mimetype correctly in my request? This is what I have so far.
public IEnumerator ExportFile(File file)
{
var request = new UnityWebRequest("https://www.googleapis.com/drive/v2/files/" +
file.ID + "/export");
request.method = "GET";
request.headers["Authorization"] = "Bearer " + AccessToken;
request.headers["Content-Type"] = "application/pdf";
request.body = new byte[0]; // with no data
	var response = new UnityWebResponse(request);
	while (!response.isDone)
		yield return null;

	JsonReader reader = new JsonReader(response.text);
	var json = reader.Deserialize<Dictionary<string, object>>();

	if (json == null)
	{
		yield return new Exception(-1, "ExportFile response parsing failed.");
		yield break;
	}
	else if (json.ContainsKey("error"))
	{
		yield return GetError(json);
		yield break;
	}

	yield return new AsyncSuccess(new File(json));
}

Still learning. Will appreciate help.
Thanks,
Sidhant.

You should provide the mime type like: .../export?mimeType=application%2Fpdf
On Thu, Sep 21, 2017 at 9:58 AM sidhants<EMAIL_ADDRESS>wrote:

Hi,
I am trying to add functionality to export a google doc file as a pdf as
mentioned in the docs here:
https://developers.google.com/drive/v2/reference/files/export
On creating the request, it gives a "unity google drive exception :
required parameter mimetype" HTTP/1.1 400 Bad Request
How do I specify mimetype correctly in my request? This is what I have so
far.
public IEnumerator ExportFile(File file)
{
var request = new UnityWebRequest("https://www.
googleapis.com/drive/v2/files/" +
file.ID + "/export");
request.method = "GET";
request.headers["Authorization"] = "Bearer " + AccessToken;
request.headers["Content-Type"] = "application/pdf";
request.body = new byte[0]; // with no data
var response = new UnityWebResponse(request);
while (!response.isDone)
yield return null;
JsonReader reader = new JsonReader(response.text);
var json = reader.Deserialize<Dictionary<string, object>>();
if (json == null)
{
yield return new Exception(-1, "ExportFile response parsing failed.");
yield break;
}
else if (json.ContainsKey("error"))
{
yield return GetError(json);
yield break;
}
yield return new AsyncSuccess(new File(json));
}
Still learning. Will appreciate help.
Thanks,
Sidhant.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/midworld/unity-googledrive/issues/29, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ABnn7AfXuq2etwlX08yDEySaWCS2qHOKks5skbTSgaJpZM4Peqia
.

Ok that worked and I am able to get the bytes in the web response.
How do I transform that into a type of GoogleDrive.File so that I can use it for uploading or passing to my interface which accepts a pdf file path for downloading pdf's?
There is no download url in the response (only bytes) so I am assuming I will have to export and upload it on the fly back to my drive so that it is available for download further. Any advice is appreciated.
Thanks.

I verified that the pdf file created is correct by saving it locally:
System.IO.FileStream fs = new System.IO.FileStream("C:\Users\CyberGlove\Desktop\ppt\pptTemplatePDF.pdf",System.IO.FileMode.OpenOrCreate);
fs.Write(bytes,0,bytes.Length);
fs.Close();
But I am still not sure how I can use the export bytes obtained to makes a GoogleDrive.File object for further use of uploading/downloading or if there is any download url?
Thanks,
Sidhant.

Hi again,
Google doesn't support a download link for the exported file. You should upload the byte stream with content type application/pdf to your Google drive if you want a download link of the converted PDF file.
Thanks.

Git it. thanks. closing the thread.


report error "tensorflow.python.framework.errors_impl.InvalidArgumentError "when visit dataset

version: 2.3.0
OS：mac
report error "tensorflow.python.framework.errors_impl.InvalidArgumentError "when visit dataset
script：
from future import absolute_import, division, print_function, unicode_literals
import tensorflow as tf
import IPython.display as display
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import pathlib
AUTOTUNE = tf.data.experimental.AUTOTUNE
data_dir = tf.keras.utils.get_file(origin='https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz',
fname='flower_photos', untar=True)
data_dir = pathlib.Path(data_dir)
print("data_dir:",data_dir)
image_list = list(data_dir.glob('/.jpg'))
image_count = len(image_list)
print("image_count:",image_count)
CLASS_NAMES = np.array([item.name for item in data_dir.glob('*') if item.name != "LICENSE.txt"])
print("CLASS_NAMES:",CLASS_NAMES)
image_generator = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1./255)
BATCH_SIZE = 32
IMG_HEIGHT = 224
IMG_WIDTH = 224
STEPS_PER_EPOCH = np.ceil(image_count/BATCH_SIZE)
train_data_gen = image_generator.flow_from_directory(directory=str(data_dir),
batch_size=BATCH_SIZE,
shuffle=True,
target_size=(IMG_HEIGHT, IMG_WIDTH),
classes = list(CLASS_NAMES))
list_ds = tf.data.Dataset.list_files(str(data_dir/'/'))
def get_label(file_path):
# convert the path to a list of path components
parts = tf.strings.split(file_path, '\')
print("+++++",parts)
# The second to last is the class-directory
return parts[-2] == CLASS_NAMES
def decode_img(img):
# convert the compressed string to a 3D uint8 tensor
img = tf.image.decode_jpeg(img, channels=3)
# Use convert_image_dtype to convert to floats in the [0,1] range.
img = tf.image.convert_image_dtype(img, tf.float32)
# resize the image to the desired size.
return tf.image.resize(img, [IMG_WIDTH, IMG_HEIGHT])
def process_path(file_path):
label = get_label(file_path)
# load the raw data from the file as a string
img = tf.io.read_file(file_path)
img = decode_img(img)
return img, label
labeled_ds = list_ds.map(process_path, num_parallel_calls=AUTOTUNE)
print(labeled_ds)
for image, label in labeled_ds:
print("Image shape: ", image.numpy().shape)
print("Label: ", label.numpy())
Full error message：
<ParallelMapDataset shapes: ((224, 224, 3), (5,)), types: (tf.float32, tf.bool)>
2020-12-09 10:57:39.973749: W tensorflow/core/framework/op_kernel.cc:1767] OP_REQUIRES failed at strided_slice_op.cc:108 : Invalid argument: slice index -1 of dimension 0 out of bounds.
2020-12-09 10:57:39.973883: W tensorflow/core/framework/op_kernel.cc:1767] OP_REQUIRES failed at strided_slice_op.cc:108 : Invalid argument: slice index -1 of dimension 0 out of bounds.
2020-12-09 10:57:39.973962: W tensorflow/core/framework/op_kernel.cc:1767] OP_REQUIRES failed at strided_slice_op.cc:108 : Invalid argument: slice index -1 of dimension 0 out of bounds.
2020-12-09 10:57:39.974040: W tensorflow/core/framework/op_kernel.cc:1767] OP_REQUIRES failed at strided_slice_op.cc:108 : Invalid argument: slice index -1 of dimension 0 out of bounds.
2020-12-09 10:57:39.974411: W tensorflow/core/framework/op_kernel.cc:1767] OP_REQUIRES failed at strided_slice_op.cc:108 : Invalid argument: slice index -1 of dimension 0 out of bounds.
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/eager/context.py", line 2102, in execution_mode
yield
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 758, in _next_internal
output_shapes=self._flat_output_shapes)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/ops/gen_dataset_ops.py", line 2610, in iterator_get_next
_ops.raise_from_not_ok_status(e, name)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 6843, in raise_from_not_ok_status
six.raise_from(core._status_to_exception(e.code, message), None)
File "", line 3, in raise_from
tensorflow.python.framework.errors_impl.InvalidArgumentError: slice index -1 of dimension 0 out of bounds.
[[{{node strided_slice}}]] [Op:IteratorGetNext]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/dingjiawei/Desktop/daily_demo/load_image_data/tensorflow2.0_load_data.py", line 85, in
for image, label in labeled_ds:
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 736, in next
return self.next()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 772, in next
return self._next_internal()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 764, in _next_internal
return structure.from_compatible_tensor_list(self._element_spec, ret)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/contextlib.py", line 130, in exit
self.gen.throw(type, value, traceback)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/eager/context.py", line 2105, in execution_mode
executor_new.wait()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/eager/executor.py", line 67, in wait
pywrap_tfe.TFE_ExecutorWaitForAllPendingNodes(self._handle)
tensorflow.python.framework.errors_impl.InvalidArgumentError: slice index -1 of dimension 0 out of bounds.
[[{{node strided_slice}}]]
I don't know what this error mean, and how to sovle it. please help me to check it. thank you ~

@dingjiaweiww,
On changing the line parts = tf.strings.split(file_path, '\\') to parts = tf.strings.split(file_path,sep="/") in the get_label method, I was able to run the code without any issues.
Please find the gist of it here. Thanks!


New AWS authentication mechanism

I'm having issues with deploying thumbnails to new buckets, as AWS has changed the required authentication mechanism. When pointing to a newer bucket, I see the following error:
S3::putObject(): [InvalidRequest] The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.
Are you able to update to the new mechanism?

Disregard, this is a Craft issue, not an Imager issue.


fix #821: testBlockchainTime was creating on extra slot

The patch is simple and does what we discussed on #821. But it's a Draft PR at the moment because the Praos test consumes all my machine's memory.

The source of the crash:
https://github.com/input-output-hk/ouroboros-network/blob/71c9da7b096cecda160ad81a9564e2e7c7aa4139/ouroboros-consensus/src/Ouroboros/Consensus/Protocol/Praos.hs#L309-L313
That function is being called with SlotNo 0, and so the subtraction underflows. (The resulting huge Word64 causes lots of allocation when it reaches elsewhere in this module.)
I'm unfamiliar with this territory, but that - 1 seems quite suspicious, considering SlotNo is defined to be 0-indexed.

The source of the crash:
https://github.com/input-output-hk/ouroboros-network/blob/71c9da7b096cecda160ad81a9564e2e7c7aa4139/ouroboros-consensus/src/Ouroboros/Consensus/Protocol/Praos.hs#L309-L313
That function is being called with SlotNo 0, and so the subtraction underflows. (The resulting huge Word64 causes lots of allocation when it reaches elsewhere in this module.)
I'm unfamiliar with this territory, but that - 1 seems quite suspicious, considering SlotNo is defined to be 0-indexed.
@mrBliss, @dcoutts: Who should I ping for an opinion on this? The summary of my patch that causes this line to cause a crash is: running tests with NumSlots n was actually running with n + 1 slots, [0 .. n]. My patch changes that so it's instead a "before SlotNo 0" initialization phase in which only "test initialization" code should run and then n slots, [0 .. n - 1].

The -1 is indeed strange since both SlotNo and EpochNo are 0-indexed. I would expect
slotEpoch PraosNodeConfig{..} s = EpochNo $ div (unSlotNo s) praosSlotsPerEpoch
..
epochStart PraosNodeConfig{..} e = SlotNo $ (unEpochNo e) * praosSlotsPerEpoch

Even better would be to reuseEpochInfo: https://github.com/input-output-hk/ouroboros-network/blob/bcab58a2faa5edafd9c3ecd5e7baaa94d1845d96/ouroboros-consensus/src/Ouroboros/Storage/EpochInfo/Impl.hs#L46 (and reuse the existing EpochNo type too).
We should do that as a separate PR. Would you mind doing that first? Since this PR is kind of blocked on this :slightly_smiling_face:

We should do that as a separate PR. Would you mind doing that first? Since this PR is kind of blocked on this

I opened #835 for this.

An improvement occurred to me while I was refactoring the general test setup for another PR. I've rebased with those changes.
I also rebased atop the pending #835, to avoid the memory exhaustion bug.
This rebase also fixes a bug in the prior commit: the thread delay should now happen after incrementing the TVar, not before it.

Thanks for merging #835; I've rebased this onto the latest master.

bors r+


Twitter Plan for First Meetup

Roughly four weeks until the first Rust Linz meetup. Here is a suggestion for tweets in the next weeks. @ddprrt, can you care for phrasing and sending the tweets?

[x] Announce first meetup incl. link to meetup.com
[x] Point out website of Rust Linz (wait until confirmation of @karin112358 that first version is complete)
[x] Point out Ryan as speaker in first meetup
[x] Invite people to suggest sessions on sessionize
[ ] Announce dates for second and third meetups incl. speaker announcements (wait until we have confirmed speakers; nbf July 20th)
[x] Invite people to our Discord server (invite link), a week or two before the event

Further ideas for tweets are welcome. @pkim @karin112358 @cschwendtner please retweet.

Sure 😎

Upcoming:
[] Reminder 1st Meetup - Week of Jul 20
[] Abstract Ryan - Week of Jul 20
[] Abstract Rainer - Week of Jul 20
[] From the Community - Week of Jul 20
[] Two more dates! - Week of Jul 27
[] Announcement Meaghan - Week of Jul 27
[] Announcement Rucky - Week of Jul 27
[] Reminder 1st Meetup - Week of Jul 27
[] Reminder Discord - Week of Jul 27
[] Coding Club Mention - Week of Jul 27
[] From the Community - Week of Jul 27
[] Reminder 1st Meetup - Week of Aug 3
[] Reminder 1st Meetup - Day before
[] Announcement 2nd Meetup - Week of Aug 3
[] Announcement Meaghan - Week of Aug 3
[] Announcement Rucky - Week of Aug 10
[] Announcement 3rd Meetup - Week of Aug 10
[] Announcement Valentin - Week of Aug 10
[] Announcement Matthias - Week of Aug 10
[] From the Community - Week of Aug 10


zziplib: fix build on darwin

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[X] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

@GrahamcOfBorg build mpd

@GrahamcOfBorg build mpd

Is there an upstream issue/PR?

Is there an upstream issue/PR?

no yet, sorry. I'm gonna report it later
Closing it favor of https://github.com/NixOS/nixpkgs/pull/91260


interactive elements handle standard html props

All interactive elements expose the standard HTML attributes of their main element as optional parameters/props as well
should address this issue:
https://github.com/alexandrtovmach/react-figma-plugin-ds/issues/14
might impact this issue positively:
https://github.com/alexandrtovmach/react-figma-plugin-ds/issues/26

would fix #21 as well


September DAME sprint

Coverage decreased (-0.9%) to 79.834% when pulling 645f204416d059ccfb67c65f1e0a2115c13f44ae on september-dame-sprint into 1b1cb6a374021efd38d6e7e793d2a97d3fcf9360 on master.


feat: expose tar-path parameter

This is useful for testing, but we also have use cases where we don't need to push the built image but will use it in another build stage.

good once conflicts are resolved - thank you

sorry to be a pain, but can we drop the upgrade to urfave/cli lib from this PR? i don't believe it's needed here.

Done, sorry didn't intend that anyhow


Stop exporting serde::de::Error as serde::Error

Fixes #669.
This dates back about 2 years to 3fac47e01cbb10c2b6c519f354e9ce1f3792e567, when serde::de::Error was the only Error and serde::ser::Error did not exist.
Now serde::Error is just confusing.

We can't deprecate reexports, right? Otherwise my vote would be for deprecation for now

We can't deprecate reexports, I think this is https://github.com/rust-lang/rust/issues/15702. We could keep it with #[doc(hidden)] and a comment but what is the advantage? We would just be breaking a potentially larger number of users later when it is eventually removed.

Right. Let's just get rid of it.
Rust needs some feature to at least help ppl after a breaking change to
tell them what to do...
Are these PRs supposed to get merged or do you want to batch them
before 0.9?
On Mon, 09 Jan 2017 00:10:22 -0800
David Tolnay<EMAIL_ADDRESS>wrote:

We can't deprecate reexports, I think this is
https://github.com/rust-lang/rust/issues/15702. We could keep it with
#[doc(hidden)] and a comment but what is the advantage? We would
just be breaking a potentially larger number of users later when it
is eventually removed.

Yesterday I disabled publish in ad34c14c8c62e0a0c1aa7ed94751934adeed229a and merged two other breaking changes to master. We can spin off a branch from the v0.8.21 tag if we need more 0.8 releases.


Allow always in confirm-close-surface config option

implements #3648

This PR is implemented quite well, why should it be closed?

Hey @liby, I just saw two other PRs doing the same thing after I added the PR and didn't want to add unnecessary overhead for a small fix like this one.


firefox 68.0: A mutation operation was attempted on a database that did not allow mutations.

firefox 68.0: A mutation operation was attempted on a database that did not allow mutations.
userAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0

Dup of #883


How to display url mask  on focus case

on focus case how can i show 'http://' mask url ?

@sreelalks ,
Inputmask("\\http://a{+}").mask(selector);

The problem with @RobinHerbots solution is that it does not accept the period "." So, you cannot write something.com.
Instead, you can do this with Regex:
$('selector').inputmask({ regex: "http://.*" });
Hope this helps someone! :)

@sreelalks ,
Inputmask("\\http://a{+}").mask(selector);

Please guide how to allow dots thanks.

The problem with @RobinHerbots solution is that it does not accept the period "." So, you cannot write something.com.
Instead, you can do this with Regex:
$('selector').inputmask({ regex: "http://.*" });
Hope this helps someone! :)

Not working for me :-(

@zarpio ,
You can use Inputmask("url").mask(selector);

@zarpio ,
You can use Inputmask("url").mask(selector);

Thanks, it is working now the issue is in the Vuejs v-model is not working on this masked field. :-( do you know how your Inputmask works with Vuejs?

@zarpio ,
I think your problem with vue is related to #2307
I still need to investigate that.

@RobinHerbots ,
Please check below example, the mask is working but v-model is not working
https://jsfiddle.net/zarpio/j493fxgr/10/

@zarpio ,
Import the inputmask.js instead of the jquery.inputmask.js


[TogglePassword] Add example page for ux.symfony.com

Q
A

Bug fix?
no

New feature?
no

Tickets
N/A

License
MIT

This PR add the new TogglePassword component to ux.symfony.com with a minimalist example of what to expect "out of the box" 😄  (using default theme without any customization)
Previews
Homepage card

TogglePassword page

Thanks Félix! I'll deploy this when we push out the next version  it's been a pleasure reviewing your work!


[IOTDB-1189] [Distributed]optimize thread pool client close

Currently, the thread pool is used to manage inter-cluster communication access. The connection is obtained from the connection pool. After the connection is used, the connection is returned to the connection pool. After the connection is used, the interface must be called to put the connection back to the connection pool. This requires that the connection must be closed in finally.
Therefore, the connection usage is optimized here. Use try() to obtain the closed connection（push to thread pool）.

interface Closeable and close method. if call close , will put client to pool.
use try() syntax,  will put client to pool.This is the common method of closing connections for thread pools. For example, common-pool.jar.
In case the connection is not put back into the connection pool after the connection is completed.

LGTM
BTW, would you please fix the concurrent bug for clientpool mentioned in 2662 in this pr?

ok, hi , I alter 2662....


Temp fix for skip

#32

It's great work @theinit01 , but I found some problems, please look into it
when we use skip & limit together, skip only works on a multiple of 10, like 10, 20, 30, .......

However, your skip query is working fine !! 😀✨

@alfaarghya That is because of some backend code by Leetcode itself. They do not allow other than multiples of the limit variable coz ig they need to display on the frontend

please refer to #32

@alfaarghya That is because of some backend code by Leetcode itself. They do not allow other than multiples of the limit variable coz ig they need to display on the frontend

Yeah, I understand now. Thank you for your comment 💬!

🎉 Thanks for your contribution @theinit01 😊
Your code looks great, and I appreciate the thoroughness of your work. The enhancements you added are well-implemented, and I've reviewed everything. I'm happy to approve it for merging. 🚀 Thanks again for your valuable contribution 😄


大家好啊，我是⑩，今天来点大家想看的东西啊

This pull request includes several updates to the docs/staff/index.mdx file to correct and standardize staff usernames and roles. The most important changes include fixing capitalization and adjusting roles for better clarity.
Updates to staff usernames and roles:

Corrected capitalization for usernames _eilphy, mayoi shigure, ShandenLunaire, and hinanawi momoko to _Eilphy, Mayoi Shigure, [SHK] Arcadia, and Hinanawi Momoko, respectively. (docs/staff/index.mdx, docs/staff/index.mdxL24-R30)
Updated the role for Ledeau_Fox from "Replay" to "Replayer" for better clarity. (docs/staff/index.mdx, docs/staff/index.mdxL40-R40)

roger. Setting this review deadline to tomorrow (2024/9/30 00:00:00), as I am struggling complete my assignments 💀

Push push push this ssssshit out


Create Action to continuously test code

Hey all,  @pharmaverse/core-team
Since the e2e examples is the only place that has all our packages are working together, I was thinking that there should be some sort of CI Action that tests that all code is working with no deprecation warnings or errors.
Perhaps something similar to the CRAN status checker that @cicdguy and @dgrassellyb built to check for potential CRAN errors that runs a couple times of week could be retrofitted/adopted?? This way an issue is created in this repo with appropriate people tagged if anything is broken/breaking in the scripts.
https://github.com/pharmaverse/admiralci/blob/main/.github/workflows/cran-status.yml

Good idea Ben! we can definitely look into this over time.


Backspace removing last tag - can this be optional?

Thank you for developing this component. My users are enjoying it, but find the backspace behavior annoying. When the search query is empty, and you hit the backspace key, the last tag is removed. I'm hoping that this behavior can be disabled.  How would you feel about adding in a config option to disable that?
Thanks so much!

same issue got me here. had it resolved with prop  :blockKeys="['Delete']"

The solution suggested by @vinyoda197 is the right one. Thanks for sharing!
Closing :)


Update for 1.6

Don't merge yet.

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)


⚠ Bofrost.lu has degraded performance

In 26e7126, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1978 ms

Resolved: Bofrost.lu performance has improved in 70055af after 6 minutes.


No peel method on Reference?

When I run the following code (I made a crate to test):
extern crate git2;
use git2::{Repository, ObjectType};

fn main() {
    let repo = Repository::discover(".").unwrap();
    for reference in repo.references().unwrap() {
        let peeled_ref = reference.peel(ObjectType::Commit).unwrap();
        println!("{:?}", peeled_ref.id());
    }
}

I get the following error:
src/main.rs:7:36: 7:60 error: type `git2::reference::Reference<'_>` does not implement any method in scope named `peel`
src/main.rs:7         let peeled_ref = reference.peel(ObjectType::Commit).unwrap();
                                                 ^~~~~~~~~~~~~~~~~~~~~~~~

The docs and the source make it look like there's a peel method. Am I doing something wrong?

Ah oops thanks for the reminder! I just hadn't published a new version to crates.io, but I have no done so!


Restricted all tuples to 2 or 3 sequences;

For example, the following are no longer valid:

Polygon()
Polygon(1)
Polygon(1 1, 1)
Point(1, 1, 1, 1)
... and so on.

I believe this addresses https://github.com/mapbox/wellknown/issues/20.

:+1: Thanks!


Remove makeLongInt helper

This function no longer used by the generated code, uses were removed in
fec382b4.

Does this require an update to the protoc_plugin pubspec.yaml constraint on protobuf?

I don't think so, removing an unused definition shouldn't cause breakage.


How to restore from backup?

I followed the instructions to copy an existing world and spinning up a server with basic docker usage. It ran great for a few days.
I took the container offline to restore from a recent backup, and removed it: docker rm my-valheim-server-container
I extracted one of the backups, slid the files right back into config/worlds just as before when transferring the world from windows. Then used the same docker run command (with the same args) as before.
Now, the server has a freshly generated world with a new seed, ignoring my world file.
I've pulled the repo and rebuilt the image but still see the same behavior. What am I missing?

Make sure the world name is correct for the environment variable WORLD_NAME you passed in. It should be the same name as the backup files (<WORLD_NAME>.fwl, etc). Another thing you can check is if you actually have another worlds directory under config/worlds, making it unrecognizable. This can happen very often when you try to unzip an archive into another folder. Just do a quick ls check. Also look into docker logs <container-id> to see what's going on.

@Jwely were you able to successfully restore your world backup using @davidzyx's instructions? If you still have any trouble let us know and we'll figure it out.


Send and receive on same port (socket)?

Discussed in https://github.com/orchetect/OSCKit/discussions/31

Originally posted by alexford April  6, 2023
Hello! This is a great library. I have a question about how I would achieve something I'm trying to do:
For my use case, I need to send and receive OSC messages from the same port. I am integrating with a family of mixers (Behringer XR series, as an example), that "respond" to some OSC messages by sending a message back to the same port on the client that the original message was sent from.
So, I am trying to achieve this bidirectional communication by setting up both an OSCClient for sending and an OSCServer for receiving.
The issue I'm having is that when I set up an OSCClient from this library and send an OSC message, the outgoing port is randomly assigned by the OS. The mixer then responds back to that random port. I understand this is part of the behavior of GCDAsyncUdpSocket (and sockets in general), and a side effect of the two "sides" of this library each using their own socket.
I need an OSCServer to be listening on the same port that I send from, but I won't know that port until I send the first message. I have experimented a bit with trying to send an initial message, then interrogate the udpClient in the OSCClient to find the port, then start the OSCServer listening on that port. This required some minor modifications to OSCKit's source to attempt. However, OSCClient's use of GCDAsyncUdpSocket doesn't lend itself to the enableReusePort functionality (something about needing a delegate which the client does not use), so I couldn't get it to work cleanly and would have ended up making too many changes, so I came here for advice first.
Essentially, I'm looking for a hybrid of an OSCServer and an OSCClient that sends and receives OSC messages over the same socket. This is implemented in another library, also called OSCKit as something they call a "peer". However, I prefer the API, approach, and license of this library, so I'm hoping it can be done here as well.

Looking at the code, it seems like this could be made to work by basically copying the send function from OSCClient into OSCServer, so that it sends over the same socket the server has already established.
Would it be strange to have OSCServer basically implement OSCClient, though?  I'm sure there's a better way to accomplish this without muddying the server/client dichotomy you've established here. Maybe a subclass of OSCServer that adds the send functionality? Looking for your feedback. I am happy to start a PR.
I'm very new to Swift and UDP, so maybe I've missed something obvious, too!

@alexford I transferred the discussion to an issue here.
I built a new OSCPeer class. Check out the OSCKitPeerExample project from the oscpeer branch I pushed.
This intrinsically allows port reuse and UDP broadcast, which I believe is necessary for the Behringer gear to respond correctly. The single object can send and receive and uses a common local and remote port number.
Let me know if this works or if anything needs adjustment.

Thank you! I will try this out as soon as I can.
Yes, that's the PDF I am working from as well.

I've just now pushed some refactors to that branch, including the ability to pass nil as port number to OSCPeer. It then can automatically assign itself a free UDP port in the system without you having to supply one, and then uses that same port to send and receive.

Since the X32 only expects OSC on port 10023, we shouldn't necessarily force the local port to also be 10023 because there's a chance it may not be available. I'm going to add hybrid functionality so that messages can be sent to a port number that differs from the local port number. The send(_ oscObject:) method can get a port: parameter where you could override the port number used.

Ok now with the latest push to the branch, here's the invocation that I think will work for you:
let peer = OSCPeer(
    host: "<IP_ADDRESS>", // X32's host or IP address
    remotePort: 10023
) { message, _ in
        print("Received \(message)")
}

try peer.start()

This worked perfectly, using "Option 1".
This use case doesn't require the enableBroadcast option on the socket, for what that's worth. I saw you opened #33, I agree it makes sense to make that its own option.

Ok great 👍
I will probably implement broadcast as an option for the classes but defaulted to off. Will push release 0.5.0 soon and you’ll be able to switch onto that.

Just some interesting observations while doing some further refactors.
Because OSCPeer internally uses a single socket object, port reuse isn't actually intrinsically needed, which makes sense. That's one benefit to having made a dedicated class for bidirectional communication. Further to that - I can, in fact, approximate the OSCPeer functionality with a tweaked version of OSCClient and OSCServer but they both do need to have port reuse enabled, since they each implement their own socket.
I am adding an isIPv4BroadcastEnabled property and an isPortReuseEnabled property to all the classes, both on an opt-in basis.
OSCClient gains the ability to optionally set its local port, enable broadcast, and set port reuse. In that case, a new start() method needs to be called on OSCClient, but only if any of those properties are modified. If instantiated simply as OSCClient() with no further changes it will behave the same as it did before - assigning a random local port and not needing start() to be called.

Also upon reflection there is no implicit need to restrict OSCPeer to a single remote host/IP. Just like we're allowing the remote port to be overridden for each call to send(), it's entirely possible to allow the same override for remote host. The class still provides default host and remote port if not overridden in send().

I've renamed OSCPeer to OSCSocket, updated the example project (OSCKitSocketExample) and done the refactors for the other objects. Pushed to the oscpeer branch.
I've tested everything but it could use a bit more review before release.

Release 0.5.0 is out with the new features. I'll close this thread since this is resolved.


Support shutdown

See issue https://github.com/ipfs/js-ipfs/issues/1192

@diasdavid RTM

released<EMAIL_ADDRESS>with the tests for this PR


Map.prefab

Description
A new map prefab
How Has This Been Tested?
Unit and integration tests
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] I have signed the Adobe Open Source CLA.
[X] My code follows the code style of this project.
[X] My change requires a change to the documentation.
[X] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[X] I have added tests to cover my changes.
[X] All new and existing tests passed.

Codecov Report

Merging #17 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #17   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          67     75    +8
  Lines         717    767   +50
  Branches      107    109    +2
=====================================
+ Hits          717    767   +50

Impacted Files
Coverage Δ

packages/prefab-map/src/map.prefab.js
100% <100%> (ø)

packages/prefab-map/src/actions.js
100% <100%> (ø)

packages/prefab-map/src/constants.js
100% <100%> (ø)

packages/prefab-map/src/map.selector.js
100% <100%> (ø)

packages/prefab-map/src/reducers/zoom.reducer.js
100% <100%> (ø)

...ckages/prefab-map/src/reducers/position.reducer.js
100% <100%> (ø)

...ges/prefab-map/src/reducers/toggle.mode.reducer.js
100% <100%> (ø)

packages/prefab-map/src/index.js
100% <100%> (ø)

... and 6 more

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 4613f7d...8736557. Read the comment docs.


Discussion, how to use the option of .notify  in this scene

var bugsnagClient = bugsnag({
  beforeSend: function (report) {
    // Example: Disable reporting from internal routes
    if (/internal\//.test(report.request.url)) report.ignore()
  }
})

I want to follow the usage below
/* === a.js === */
export var bugsnagClient = bugsnag({
//...some public option
})
/* === b.js === */
import {bugsnagClient} from 'a.js'

//... some custom option
bugsnagClient.beforeSend = function (report) {
    // Example: Disable reporting from internal routes
    if (/internal\//.test(report.request.url)) report.ignore()
  }

Usually, I will put the public configuration together and generate bugsnagClient, but some people want to have some special configuration. This kind of scenario is not common for business, but it is necessary.

In b.js you can do:
bugsnagClient.config.beforeSend.push(function (report) {
  // your custom before send
})

It's not ideal to do that, better to configure in a single place if you can. Be aware that this will affect all errors, not just those that come from b.js.
Alternatively if you only want this for handled errors you can do:
function beforeSend (report) { /* ... */ }
bugsnagClient.notify(e, { beforeSend: beforeSend })

Which will apply only to that error.
If you have any more questions about the usage of the libary, please write in to<EMAIL_ADDRESS>Thanks!


No "sprite" targets found.

after run : grunt sprite, i got this.
all folders and files exists and are there, any help?
my grunt:
/sprite min ===============================
var spritesmith;
config.spritesmith = spritesmith = {};
              // Configure grunt
              grunt.initConfig({
                sprite:{
                  all: {
                    src: 'public/images/*.png',
                    dest: 'public/images/sprite/spritesheet.png',
                    destCss: 'sass/sprites.css'
                  }
                }
              });

Can you paste your entire Gruntfile.js and the command you are running?

hi, thanks for your answer, that is my full gruntfile.js
https://gist.github.com/douglasdeodato/2137804a38ca1bc42f72
thank you.

You are writing in too many layers of nesting for your config. Instead of sprite.dist, it should be sprite.all (or only sprite.dist):
var sprite;
config.sprite = sprite = {};

// Configure grunt
sprite.dist ={
  src: 'public/images/*.png',
  dest: 'public/images/sprite/spritesheet.png',
  destCss: 'sass/sprites.css'
};

thanks a lot, solved.

I am trying to generate svg its throwing an error,any help?
sprite: {
all: {
src: 'assets/svg/*.svg',
dest: 'assets/test.svg',
destCss: 'assets/sprites.css'
}
}
Fatal error: Unsupported file type: image/svg+xml

@kalburgimanjunath That is an unrelated error message/issue. spritesmith only supports bitmap images (e.g. png, gif, jpg) -- you'll likely want an SVG sprite library. If you have further questions, please open another issue


Vue2.0 components props shift to next component when delete item from array

Vue.js version
2.0.2
Reproduction Link

https://jsfiddle.net/xiunen/3s901su5/
Steps to reproduce
delete 1:1
What is Expected?
2:2,3:3,4:4
What is actually happening?
1:1,2:2,3:3

https://vuejs.org/v2/guide/list.html#key

https://vuejs.org/v2/guide/list.html#key
It is complicated

We encourage you to ask support questions on the forum  , Stack Overflow or on gitter and are happy to help you out there.

@LinusBorg Thanks.


Fix style violations and shadowing of built in names

Note, there were a few warning that I wasn't sure of the best fix. For example for warnings about variables not used - should I delete them or should they actually be used somewhere? So, it would be great if you could take a look at all my TODO statements and comment on the best fix. Then I can add the corrections to this pull request.

Ping for final review.
Can you look at the "__core_actions_per_sec" function in overloadimpact/cli_tool/config_report.py - should the "exit" be removed?


Can't get filtered collection queries to work

I have this function to get query collections.
 std::vector<ModelType> getCollection(const std::string &path,
                                         const std::vector<FilterInfo> &filters = {},
                                         int limit = 0,
                                         const std::string &orderField = "",
                                         const std::string &orderDirection = "ASC")
    {
        std::vector<ModelType> models;
        std::vector<std::string> pathElements;
        std::istringstream pathStream(path);
        std::string segment;

        // Split the path into segments
        while (std::getline(pathStream, segment, '/'))
        {
            pathElements.push_back(segment);
        }

        if (pathElements.empty())
        {
            std::cerr << "Path is empty or invalid." << std::endl;
            return models;
        }
        // Handle both main collection and subcollections dynamically
        std::string collectionKind;
        for (size_t i = 0; i < pathElements.size(); i += 2)
        {
            // Odd elements (0, 2, 4, ...) in pathElements are considered as collection kinds
            collectionKind = pathElements[i];
        }

        google::datastore::v1::Query query;
        // Set the collection kind for the query
        auto *kind = query.add_kind();
        kind->set_name(collectionKind);

        // Apply filters from the filter map
        if (!filters.empty())
        {
            auto *compositeFilter = query.mutable_filter()->mutable_composite_filter();
            compositeFilter->set_op(google::datastore::v1::CompositeFilter::AND); // Set the operator to AND

            // Add your property filters to the composite filter
            for (const auto &[key, value, op] : filters)
            {
                auto *filter = compositeFilter->add_filters();
                filter->mutable_property_filter()->mutable_property()->set_name(key);
                filter->mutable_property_filter()->set_op(to_property_filter_op(op));
                filter->mutable_property_filter()->mutable_value()->set_string_value(value);
            }
        }

        // Apply sort order if orderField is specified
        if (!orderField.empty())
        {
            auto *order = query.add_order();
            order->mutable_property()->set_name(orderField);
            order->set_direction(orderDirection == "DESC" ? google::datastore::v1::PropertyOrder::DESCENDING
                                                          : google::datastore::v1::PropertyOrder::ASCENDING);
        }

        // Set the limit if specified
        if (limit > 0)
        {
            query.mutable_limit()->set_value(limit);
        }

        // Convert the query to a string for logging
        std::string queryString;
        google::protobuf::TextFormat::PrintToString(query, &queryString);

        std::cout << "Query: " << queryString << std::endl;
        // Correctly execute the query using RunQuery
        google::datastore::v1::RunQueryRequest request;
        *request.mutable_query() = std::move(query);
        request.set_project_id(project_id); //->set_project_id(project_id);

        // Execute the query and handle results
        try
        {
            auto result = client_->RunQuery(request);

            // Extract the RunQueryResponse from the result
            const auto &response = result.value();

            // Convert the response to a string
            std::string resultAsString;
            google::protobuf::TextFormat::PrintToString(response, &resultAsString);

            // std::cout << "Query Result: " << resultAsString << std::endl;
            // Process the response if successful
            if (result.ok() && !result.value().batch().entity_results().empty())
            {

                const auto &query_response = result.value();

                for (const auto &entityResult : query_response.batch().entity_results())
                {
                    const auto &entity = entityResult.entity();
                   // handle results
                }
            }
            else
            {
                // Handle query execution error
                LOG_ERROR << "Failed to execute query: " << result.status().message();
            }
        }
        catch (const std::exception &e)
        {
            // Handle other potential exceptions
            LOG_ERROR << "Unexpected error during query execution: " << e.what();
        }

        return models; // Return the populated vector of models
    }

Now a general query with no filters like the one below works:
Firestore<User> db_;
        // Create an instance of User
        std::vector<User> users_ = db_.getCollection("db-wahalao-users", {}, 50, "", "DESC");
        return users_;

But when I run a query with filters such as :
std::string path = "db-wahalao-network/"+userUID+"/follows"; // Assuming 'follows' is the kind name
    Firestore<Follow> db_;
    std::vector<FilterInfo> filters = {
        {"followerUID", userUID, "="},
        {"followeeUID", followeeUID, "="}
    };
    auto models = db_.getCollection(path, filters, 1, "", "DESC");

or this one below
Firestore<User> db_;
    FilterInfo usernameFilter = {
          "username",             // Key within the map
          username,               // Value to filter for
          "="                     // Filter operator
      };

      std::vector<FilterInfo> filters = {usernameFilter};

      std::vector<User> users = db_.getCollection("db-wahalao-users", filters, 1, "", "DESC");

It always returns an empty even though the same query in the Gcloud query builder returns results.

What component of google-cloud-cpp is this related to?
Datastore
What version of google-cloud-cpp are you using? Please include the output
This is a fresh build google-cloud-cpp with vcpkg
I can't think of anything else I am doing wrong here on the code side of it. The reason I am submitting this as a bug.
And no, it is not an index problem because I have an index deployed, and there is no missing index exception.

Disclaimer: I am not familiar with this library, so I do not know if this is a service issue or not.
But, I have a working example with the library below. Let me know if I'm missing anything, so I can modify it and try and reproduce your error.
I modified the datastore quickstart to insert 3 elements and then query with a composite filter for two of the values.
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

//! [all]
#include "google/cloud/datastore/v1/datastore_client.h"
#include <iostream>

namespace datastore = ::google::cloud::datastore_v1;

void InsertItem(datastore::DatastoreClient& client, std::string project_id, std::string my_key, std::string my_action, std::string my_value) {
  google::datastore::v1::Key key;
  key.mutable_partition_id()->set_project_id(project_id);
  auto& path = *key.add_path();
  path.set_kind("Task");
  path.set_name(my_key);

  google::datastore::v1::Mutation mutation;
  auto& upsert = *mutation.mutable_upsert();
  *upsert.mutable_key() = key;
  google::datastore::v1::Value value;
  value.set_string_value(my_action);
  upsert.mutable_properties()->insert({"action", std::move(value)});
  google::datastore::v1::Value value2;
  value2.set_string_value(my_value);
  upsert.mutable_properties()->insert({"item", std::move(value2)});

  auto put = client.Commit(
      project_id, google::datastore::v1::CommitRequest::NON_TRANSACTIONAL,
      {mutation});
  if (!put) throw std::move(put).status();

  std::cout << "Saved " << key.DebugString() << " " << put->DebugString()
            << "\n";
}

void Query(datastore::DatastoreClient& client, std::string project_id) {
  google::datastore::v1::Query query;
  query.add_kind()->set_name("Task");

  // Create filter
  auto composite_filter = query.mutable_filter()->mutable_composite_filter();
  composite_filter->set_op(google::datastore::v1::CompositeFilter::AND); // Set the operator to AND

  auto *filter = composite_filter->add_filters();
  filter->mutable_property_filter()->mutable_property()->set_name("action");
  filter->mutable_property_filter()->set_op(google::datastore::v1::PropertyFilter::EQUAL);
  filter->mutable_property_filter()->mutable_value()->set_string_value("Buy");

  auto *filter2 = composite_filter->add_filters();
  filter2->mutable_property_filter()->mutable_property()->set_name("item");
  filter2->mutable_property_filter()->set_op(google::datastore::v1::PropertyFilter::EQUAL);
  filter2->mutable_property_filter()->mutable_value()->set_string_value("Milk");

  google::datastore::v1::RunQueryRequest request;
  *request.mutable_query() = std::move(query);
  request.set_project_id(project_id);

  auto response = client.RunQuery(request);
  if (!response) throw std::move(response).status();

  for (auto const& c : response.value().batch().entity_results()) {
    for (auto const& p : c.entity().key().path()) {
      std::cout << p.name() << "\n";
    }
  }
}

int main(int argc, char* argv[]) try {
  if (argc != 2) {
    std::cerr << "Usage: " << argv[0] << " project-id\n";
    return 1;
  }

  auto client =
      datastore::DatastoreClient(datastore::MakeDatastoreConnection());

  auto const* project_id = argv[1];

// Create and insert 3 elements
  InsertItem(client, project_id, "sampletask4", "Buy", "Milk");
  InsertItem(client, project_id, "sampletask5", "Buy", "Tea");
   InsertItem(client, project_id, "sampletask6", "Buy", "Coffee");
// Query using a composite filter for "action=Buy" and "item=Milk"
  Query(client, project_id);

  return 0;
} catch (google::cloud::Status const& status) {
  std::cerr << "google::cloud::Status thrown: " << status << "\n";
  return 1;
}
//! [all]

@alevenberg Thanks. The code seems to be the same. One question, though: is your datastore(Firestore) in datastore mode or native mode? Mine is in Native Mode.

In the example above, I was using datastore mode.
I created another database (my-native-db) in native mode.
When I first ran the code, I got this error:
google::cloud::Status thrown: FAILED_PRECONDITION: Error in non-idempotent operation: no matching index found. recommended index is:
- kind: Task
  properties:
  - name: action
  - name: item
 error_info={reason=, domain=, metadata={gcloud-cpp.retry.function=RunQuery, gcloud-cpp.retry.reason=non-idempotent, gcloud-cpp.retry.original-message=no matching index found. recommended index is:
- kind: Task
  properties:
  - name: action
  - name: item
}}

Sadly, after I created the index, I still was getting the error.
This stack overflow post tells me you need to use the firestore library, not the datastore library.
You can checkout the docs here and I think this is the sdk.
Closing, the datastore library is WAI.

@alevenberg We are talking about Google-cloud-cpp, not nodejs or some other python library. Maybe it should be explicitly stated that this library works only for datastore in datastore mode which is not true. And you are mistaken because Datasotore in Native mode allows for index to be created using datastore api with no errors. It just doesn't return any results on queries, which, again, I think may be a bug with the library code here or a feature to add.

@alevenberg We are talking about Google-cloud-cpp, not nodejs or some other python library. Maybe it should be explicitly stated that this library works only for datastore in datastore mode which is not true. And you are mistaken because Datasotore in Native mode allows for index to be created using datastore api with no errors.

You are right, I am mistaken. I repeat I am not familiar with Datastore/Firestore or the nuances of the services.
Initially, I created the index in the GCP console and create the suggested index. Based on your suggestion, I did more digging and found this stack overflow post.
To create the working index, I created a index.yaml file and the cli:
File: google/cloud/datastore/quickstart/index.yaml
indexes:
- kind: Task
  properties:
  - name: action
  - name: item

gcloud datastore indexes create --database='my-native-db' google/cloud/datastore/quickstart/index.yaml

Then I went back to GCP console and saw the difference between the two. The index I created in GCP has the default API scope set to firestore, not datastore. See the image below of the index that did not work and the one that did.

Upon looking closer, you can see this determines what API the index can be used with:

Running the code above returns a single result (as expected):
❯ bazel run google/cloud/datastore/quickstart alevenb-test
INFO: Analyzed target //google/cloud/datastore/quickstart:quickstart (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
Target //google/cloud/datastore/quickstart:quickstart up-to-date:
  /usr/local/google/home/alevenb/.cache/bazel/_bazel_alevenb/3e6c363550b93e009be767eef00558d7/execroot/google_cloud_cpp/bazel-out/k8-fastbuild/bin/google/cloud/datastore/quickstart/quickstart
INFO: Elapsed time: 1.025s, Critical Path: 0.01s
INFO: 1 process: 1 internal.
INFO: Build completed successfully, 1 total action
INFO: Running command line: /usr/local/google/home/alevenb/.cache/bazel/_bazel_alevenb/3e6c363550b93e009be767eef00558d7/execroot/google_cloud_cpp/bazel-out/k8-fastbuild/bin/google/cloud/datastore/quickstart/quickstart alevenb-test
sampletask4

I would recommend you check the API Scope of the indexes you created.
I don't believe there is a bug in google-cloud-cpp library code, but feel free to re-open this issue if you have a more information that can help me reproduce it.

@alevenberg Thanks for the follow up. It is a weird situation. I must be missing something.
This query:
Query: kind {
  name: "db-wahalao-users"
}
filter {
  composite_filter {
    op: AND
    filters {
      property_filter {
        property {
          name: "username"
        }
        op: EQUAL
        value {
          string_value: "OjObasi"
        }
      }
    }
  }
}
order {
  property {
    name: "createdAt"
  }
  direction: ASCENDING
}
limit {
  value: 1
}

Works while this:
Query: kind {
  name: "db-wahalao-users"
}
filter {
  composite_filter {
    op: AND
    filters {
      property_filter {
        property {
          name: "username"
        }
        op: EQUAL
        value {
          string_value: "OjongObasi"
        }
      }
    }
  }
}
order {
  property {
    name: "createdAt"
  }
  direction: ASCENDING
}
limit {
  value: 1
}

for another document with that username doesn't work.

With the GCP console, since I am in native mode, I can only run queries with Firestore indexes, which will return the right results. But that's not datastore.
For some reason, even the index query one that works now, the day I created it and deployed the index, didn't work. I was surprised it even worked today. Does Datastore do some background indexing based on field values? And do you know if that takes time to propagate?

I'm glad your query is working. I do not know anything about the specifics of Datastore, sorry.
I know when you create the index that is a long running operation, but that's all.


Unified Lightning trainer

Unified interface among torch lightning use cases (3DGAN and mnist).
Planned on 3dgan_integration branch.

Lightning shall be dropped

done


Add "Velero on vSphere" section for install and configuration for Kubernetes w/CNS on 6.7U3

We need documentation for how to install and configure Velero to backup/restore Kubernetes on vSphere with the CNS CSI driver and Restic.

Exactly. Im struggling to install Velero v1.0.0 on VMware PKS 1.3.0-build.126 / NSX 2.3 on top of the VMware vSphere 6.5.0. I miss instructions specifically for vSphere / PKS. I have received 'An error occurred: some backup storage locations are invalid: backup store for location “default” is invalid: rpc error: code = Unknown desc = NoSuchBucket: The specified bucket does not exist
status code: 404' via 'kubectl logs deployment/velero -n velero'.

@dsu-igeek CNS/CSI only covers the persistent volumes; do you have a recommendation on what to use for object storage? Is there an S3-compatible API in the storage stack?

We do not have an object store as part of the standard vSphere stack unfortunately.

FYI, the draft doc is here: https://github.com/dsu-igeek/velero/blob/master/site/docs/master/vsphere-config.md
@fferencik - the doc is written for generic K8S and Kubernetes, if you can give some feedback on what areas would help you, I can work with the Pivotal team to add some stuff.  The install for vSphere has been pretty generic for us so far.  I think the error you're seeing means the object store configuration is not working.

@dsu-igeek I have discussed this with Cormac Hogan @cormachogan and succeeded based on his blog post https://cormachogan.com/2019/08/08/setting-up-velero-1-0-0-to-backup-k8s-on-vsphere-pks/ . Only thing I had to add was DNAT rule to access NodePort.

Note that this PR is to have Velero work with restic and the new out-of-tree vSphere CSI driver for Kubernetes, which will be available very shortly. To date, VMware has been using an in-tree driver called the VCP, short for vSphere Cloud Provider. This is the driver found on PKS, as well as other distros such as OpenShift when deployed on vSphere. However, it doesn't seem like the instructions will differ from those that I documented on the blog.

No, there shouldn’t be any differences.

On Aug 16, 2019, at 12:54 AM, Cormac Hogan<EMAIL_ADDRESS>wrote:
Note that this PR is to have Velero work with restic and the new out-of-tree vSphere CSI driver for Kubernetes, which will be available very shortly. To date, VMware has been using an in-tree driver called the VCP, short for vSphere Cloud Provider. This is the driver found on PKS, as well as other distros such as OpenShift when deployed on vSphere. However, it doesn't seem like the instructions will differ from those that I documented on the blog.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


drivers: i2c: cc32xx: Add operation timeout

I2C transfer may hang due to undefined reason. In such case
whole i2c driver will be locked till system is restrted.
Add safety timeout to abort transaction
Signed-off-by: Pavlo Hamov<EMAIL_ADDRESS>

Build fails due to changes stats_shell.c. Not related to this PR

Build fails due to changes stats_shell.c. Not related to this PR


Add support for following debug links

Please see individual commits for descriptions.

LGTM, let's add a comment to the parts that try to find "linkee" binary, as it's confusing. But other than that looks good.

Added; thanks for the review.


update readme with warning about message_echoes

Coverage remained the same at 98.855% when pulling 71bac280e808b3e969936fff52335d793be112f2 on heyrhett:master into e5832d6a49c125b5d03bc9a68c9cd81edf014e65 on hyperoslo:master.


F 612 add priority to category and main category

There is another PR for that
https://github.com/Giveth/impact-graph/pull/617


Clone record tracking question

Expected behavior and actual behavior.
Is there any known method to track a cloned record from it's source from a lookup field? I feel sure there is a way to do this through calling an action but I can't seem to get it. Please and thank you.
Steps to reproduce the problem (screenshots are really usefull)
N/A just a question no issue to reproduce
CRM Version - online/onpremise - WorkflowTools version
CRM version 8.2 - onpremise - <IP_ADDRESS> workflow version

You can feel free to close this ticket. I was able to update the source code for Dynamics365WorkflowTools v<IP_ADDRESS> to include a "Cloned From" field. If you have an interest in that code please feel free to send me a message or reply to this issue. Thank you for your hard work.


Fix wrong translations.

Whoops. i missed this. :(

Thanks @10sa 😚

You're welcome. @kurozael ;)