Precompile automagically

Pre-compilation is basically always wanted, and the only reason not to do so is because there's a cost to doing it now (more typing for new code, refactoring of old code, or lack of knowledge on the user's part) .
By turning transform and select into macros, it looks to me like the pre-compilation of navigation specs can be done automatically.
This would have several benefits:

Easier to use, by not requiring the user to write more, or transform existing, code to get pre-compilation
Easier to learn, by turning pre-compilation into an implementation detail and not something the user has to think about.

I'd really like to precompile automatically, but it's not clear at all how to do that. For example:
(defn myfn [s]
  (select [ALL :a even?] s))

To precompile, the [ALL :a even?] would have to be brought out of the function. That's not possible with any facilities Clojure provides.

Why would it have to be brought out of the function?  It's right for for select to pre-compile, if select is turned into a macro.

There's a lot of issues you'd have to deal with, such as:

At macro-time things like ALL and filterer are just symbols. You'd have to resolve them appropriately, taking into account those symbols might be shadowed in the lexical closure.
You need to put the compiled path somewhere. You certainly can't embed it in the outputted source as Clojure will not allow you to do that. You might be able to def it into a new global symbol and refer to that symbol within the function, but I'm not completely sure if the details will work out.

That all said, if you can get it working I'd be happy to take a pull request for it.

How about simply memoizing comp-paths? With some very preliminary testing it seems to be working.
(def compile-once (memoize s/comp-paths))

Then for convenience...
(defn transform* [path f data]
  (s/compiled-transform (compile-once path) f data))

Now we can just (transform* [ALL even?] inc data) and it will only compile on the first call.
The problem is that if any component of the path changes, the path will be recompiled. It doesn't support parameterized paths.
We could overload transform* to take parameters separately:
(defn transform*
  ([path f data]
   (s/compiled-transform (compile-once path) f data))
  ([path args f data]
   (s/compiled-transform (apply (compile-once path) args) f data)))

Now we can do things like:
(defn score-point [data user]
  (transform* [:users keypath :score] [user] inc data))

I find it a bit burdensome to have to match the parameters with their place in the path, so I wrote some macro goodness.
(defn extract-parameters [path]
  (loop [[x & more :as p] path
         static-path []
         args []]
    (if (seq p)
      (if (seq? x)
        (if (-> x count (= 1))
          (recur more
                 (conj static-path 'com.rpl.specter.keypath)
                 (conj args (first x)))
          (recur more
                 (conj static-path (first x))
                 (into args (rest x))))
        (recur more
               (conj static-path x)
               args))
      (if (-> args count pos?)
        [static-path args]
        [static-path]))))

(defmacro transform [path f data]
  `(tslocke.utils/transform* ~@(extract-parameters path) ~f ~data))

With this you can do:
(defn score-point [data user]
  (transform [:users (user) :score] inc data))

NOTE: Newly created functions always have a new hash code, so if the Specter path vector has, somewhere within it, a closure, this will thwart the memo cache. It may be that some Specter library functions do this already - I haven't checked.
If you like this idea I can submit a PR.

 You'd have to resolve them appropriately, taking into account those symbols might be shadowed in the lexical closure.

I don't think that's true, the walker already adds namespaces, so you're gonna look at a prefixed name, right?

@vendethiel They're most definitely non-qualified symbols:
user=> (defmacro foo [& args] (println args) (doseq [a args] (println (class a))))
#'user/foo
user=> (foo ALL srange)
(ALL srange)
clojure.lang.Symbol
clojure.lang.Symbol

@tslocke Memoizing is a pretty good idea actually. It's important to recognize that the goal here is to have significantly improved common case performance as no dynamic strategy will be able to compete with explicit precompilation.
I would also say there are two other properties we want out of a solution:

Consistency: The same code always performs the same and is not subject to any cache invalidation patterns that cause performance to fluctuate wildly.
Memory-safe: The cache size must be bounded in a reasonable way.

Because parameterized paths mean that a static number of path declarations can create effectively infinite paths at runtime, that eliminates a naive caching strategy. The only way to get #2 would be to use an eviction strategy of some sort, and that would conflict with goal #1.
I also think that a caching implementation should be completely invisible to the user and require no extra burden on their part. Specter usage should remain identical to how it is currently.
A more sophisticated strategy might be able to satisfy all these properties. If select and transform are macros, then they should be able to figure out if the path is made up of a combination of global navigators, global functions, and global navigators that require parameterization. As long as only those paths are cached, then the cache size will be bounded to the number of path declarations in the codebase. All other kinds of paths should not be cached as that would violate #2.
So basically something like [ALL (srange 4 9) ALL even?] should be replaced with ((compile-once ALL srange ALL pred) 4 9 even?), while the following cases would not be cached:

[ALL some-local-symbol]
(let [ALL :a] (transform [ALL even?] inc data))

Because parameterized paths mean that a static number of path declarations can create effectively infinite paths at runtime, that eliminates a naive caching strategy.

That's already addressed in the implementation I posted. Only the static part is cached. 1 and 2 are both satisfied.
I did not satisfy this one though:

I also think that a caching implementation should be completely invisible to the user and require no extra burden on their part. Specter usage should remain identical to how it is currently.

While this would be nice, it strikes me as hugely complicating the problem without a significant win. I don't think it will be possible, in a fully generalised way, to figure out at compile time which symbols refer to parameterised navigators. What if I call a function to return a navigator according to some logic?
Much better to have it indicated statically, in the syntax. The macro I posted just assumes that, in any form (foo a b c...), a, b and c are parameters. This could be improved upon, but it already works pretty well. I actually find it makes the path more readable.
Another possibility would be to wrap individual parameters in something like (? ...)
A question - what happens if I want to compile something like (srange 3 x) (where should be a parameter)? Can I partially apply? I.e. compile (srange 3) and then provide the x as a parameter? Or do I have to compile just srange and provide both 3 and x as parameters? What if I wanted (srange x 3)?

I don't think your code satisfies 2.  Consider these cases:
(defn foo [navigator data]
  (transform [ALL navigator] inc data))

(defn foo [k data]
  (let [p (keypath k)]
    (transform [ALL p] inc data))

Each case has one declared path but at runtime can create infinite distinct paths.
To determine whether a symbol refers to a parameterized navigator or a regular function, you'd have to resolve the var and check the value (and also check &env to ensure the symbol isn't shadowed). It would be some tricky code but I think it's possible. That said, there's always going to be a way to break it (e.g. alter-var-root), which is why I've held off on this feature. As long as the mechanisms to break it are clearly unreasonable code, it's probably OK, but this point is worth further discussion.
Parameterized navigators cannot be partially applied. You must supply all the needed parameters at once in the order that they're expected.

For the second example, you would write it
(defn foo [k data]
  (transform [ALL (keypath k)] inc data))

and it would be cached and parameterised correctly. So some burden is placed on the user to know how it works, but I would argue that's a good thing. (I actually put in a little shortcut for keypath, so you could just write [ALL (k)] but perhaps that's too much of a hack.)
The first example, where the entire navigator is parameterised, is more interesting. It's not entirely clear what would be wanted here. If I know my code passes one of, say, 3 different possible values, then I would probably want them all to be compiled and cached separately, which is what my solution would currently do. If, conversely, the navigator parameter was to be used to pass in a navigator that varied widely according to some value (i.e. something like (keypath k)) I would refactor to separately pass in the value to foo, and apply the navigator to the value inline in the call to transform. It's not "automagic", but it's simple to understand and easy to work with.
What would you do now with something like that first example? Can the compiler cope with that kind of path, parameterised not on a navigator parameter, but on an arbitrary choice of navigator?
How would you propose to handle that first example in your proposed solution?
Interesting discussion.

Let's say you're new to Specter. You read through the examples to learn the basics and start using it in a project. One section of your code uses paths passed in dynamically, much like one of the examples you saw by the creator of the project in a presentation: https://github.com/nathanmarz/specter-clojure-west/blob/master/src/specter_demo/examples.clj#L316
Your project works and is performant. You test in in staging and everything works fine. Then you deploy it to production. Everything works fine for awhile, but then after a couple days your processes go OOM and die. You have a memory leak but you have no idea why. Tracking the memory leak down to the source – which is the usage of an unbounded number of dynamic paths – is going to require a hell of a debugging adventure.
While it's true that as long as you understand the details of your proposed design, avoiding these memory leak scenarios is not that difficult. But it's unreasonable to expect all users to understand this. Heck, I could even see myself forgetting about this from time to time. Having my 2nd example above causing a memory leak is unreasonable behavior from a library.
I wouldn't say I've officially proposed a solution to this, as I'm not convinced this can be done completely cleanly. In the macro approach I discussed, it would not cache either of my examples as both navigator and p would be in the local environment. Where the macro+caching design breaks is something like this:
(defn foo [k data]
  (alter-var-root #'ALL (fn [_] (keypath k)))
  (transform ALL inc data)
  )

Now this is some very, very bad code. But still, it's surprising that it would cause a memory leak with the macro+caching design. Even this makes me uncomfortable which is why I haven't tackled this issue. I'm much more comfortable with a design in which there do not exist any usage patterns with surprising, destructive effects.

How about this...

Have an alternate namespace, with an identical API, where the functions implement compilation caching. That way you have to make an explicit choice to use them, and can be expected to understand the consequences.

Raise an exception (statically, from the macro) on an attempt to cache a navigator path that contains a locally bound symbol, other than in "parameterised position" (i.e. in a seq, not in first place).

So this would fail:
(let [p (keypath k)]
  (transform [ALL p] inc data))

While this would pass:
(transform [ALL (keypath k)] inc data)

the macro would remove k and a parameterised query would be cached.

Gave this a lot of thought. I have some qualms about having a parallel namespace with the same operations – but my qualms with that are irrelevant because I think this is doable in a safe way via modification of the core Specter operations. Here's a design which is an evolution of both your ideas and mine:

defpath and path become defnav and nav, respectively. StructurePath is renamed to Navigator.
All transform/select operations become macros that wrap the given path in a macro called path. Function versions of all transform/select operations should remain under different names.
path statically determines whether or not to cache the path it's given or whether to compile it at runtime. path is its own operation so path caching can be achieved outside the context of a transform or select.
A path is statically determined to be cached if:

The navigator symbols (everything in the path besides parameters) are not in the local environment. Additionally, they are resolved and determined not to be dynamic vars.
All parameterized path elements  (of the form (param-path a b c)) are resolved to their respective vars and verified to be parameterized paths and NOT Clojure functions.

When a path is statically determined to be cached, a unique id is statically generated for that cache site ("cache-id")
The cache is a map from cache-id -> [uncompiled-path compiled-path] and will need to be a ConcurrentHashMap.
At runtime:

If the cache is empty for that cache id the path is dynamically compiled and the cache updated.
If the cache is not empty, a check is done to make sure the uncompiled-path in the cache is the same as the current path. If they are not equal, an exception is thrown (this handles the alter-var-root case I described and anything else weird that the programmer may have done).

This design guarantees that the number of cached paths is at most the number of path declarations throughout a codebase. The only ways to get two different paths for the same declaration site require doing something very strange (like alter-var-root), and the runtime checks handle those cases to give an informative exception instead of a very strange bug.

On second thought, don't think this is going to work for cljs. Macros run in Clojure where resolve will not give the correct results.

If parameterized paths are explicitly marked, then this is doable in both Clojure and ClojureScript, e.g.:
(path ALL (<< some-path 1 2 3) :a)

Not sure what the best marker would be. This sacrifices the ability to use dynamic vars in paths, but I think that sacrifice is easily worth it (dynamic vars would still be usable with function versions of select/transform).

I was thinking along the same lines. How about
(? …)

Datalog uses ? to indicate parameters so there is some consistency.
BTW, is it possible to have a path parameterised on the argument to a filter function? As in
[ALL #(> % x)]

If not, could it be achieved with something like an “apply” or “filter” navigator, that expects two parameters - a function and an argument?

Yea, ? would work.
pred is the late-bound parameterized version of using an anonymous function. So that could be redone as:
((comp-paths ALL pred) #(> % x))

I had offered to send a PR for this one, but the scope has rather grown since then. Is this something you expect to get to yourself?

On 29 Apr 2016, at 06:03, Nathan Marz<EMAIL_ADDRESS>wrote:
Yea, ? would work.
pred is the late-bound parameterized version of using an anonymous function. So that could be redone as:
((comp-paths ALL pred) #(> % x))
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub https://github.com/nathanmarz/specter/issues/26#issuecomment-215627433

I'd prefer a pull request for this in the interest of having more contributors. Do you still want to take this on?

I’m happy to have a crack at it. I’m in the middle of trying to get a fairly large open source project of my own finished and released, so this will have to compete with other priorities, but such is life : )

I looked into this in detail today and it's a lot harder than it seems. My design above doesn't work – higher order navigators like selected? completely mess it up.
I think I have a way to do this, but it does require deep familiarity with the workings of Specter. For that reason I'm going to take this issue on myself, but I appreciate the back and forth on this issue.

Great news that you’re going to have a crack at this issue. In my current project there have been a couple of places where a few lines of tricky Clojure have been reduced to a laughable easy transform. I can really imagine Specter becoming my default approach for all sorts of things, especially if path compilation disappears.
I’ve been working with a simple variation of the macro I posted at the top of this thread that uses the (? …) syntax, and it’s been perfect for my needs so far. I do remember having a problem with selected? but at the time I put it down to not understanding how selected?is used.
Would you mind posting an example of a problematic navigator, and show how you would precompile it the normal way? Thanks.

On 20 May 2016, at 00:57, Nathan Marz<EMAIL_ADDRESS>wrote:
I looked into this in detail today and it's a lot harder than it seems. My design above doesn't work – higher order navigators like selected? completely mess it up.
I think I have a way to do this, but it does require deep familiarity with the workings of Specter. For that reason I'm going to take this issue on myself, but I appreciate the back and forth on this issue.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub https://github.com/nathanmarz/specter/issues/26#issuecomment-220482376

Here's an example:
(defn foo [k data]
  (transform [(keypath (+ 1 2)) ALL (selected? (keypath k))] inc data))

To precompile, you would do this:
(let [cpath (comp-paths (keypath (+ 1 2)) ALL (selected? keypath))]
  (defn foo [k data]
     (transform (cpath k) inc data)
     ))

The reason it's a problem is because it makes runtime path equivalency verification too expensive, as things like selected? themselves run comp-paths on the path.

This is now working for Clojure in the precompiled-cached branch. It does not yet work for ClojureScript as ClojureScript does not have eval (in most use cases), so a different, less efficient strategy will need to be taken for that platform.
Here are some notes for anyone interested:
It's completely safe to use and will never cache a path that cannot be split into a static portion and parameters (except if the user does alter-var-root on the navigators, which I think is acceptable). Note that it will NOT cache paths if a dynamic var is used for one of the navigators, which is the desired behavior.
It also will automatically factor anonymous function usage into the pred navigator and supply the anonymous function as a parameter at runtime.
In that branch path caching is triggered with the com.rpl.specter.macros/ic! macro. I will almost certainly rename that and later integrate it into select/transform.  Though for most cases, where navigation is more expensive then simply doing get operations on maps, that number will go down significantly (~2% for most of my use cases). If Clojure exposed a way to use invokedynamic, I believe I could get the performance to be equivalent.
Finally, I added the ability to enforce that all paths must be cached with the (must-cache-paths!) function. Besides throwing an exception if a path cannot be cached, it will also print the specific reasons why.

This is now completely implemented for 0.11.0 for both Clojure and ClojureScript. The API changes are exactly as described in https://github.com/nathanmarz/specter/issues/26#issuecomment-215229540 . Note that as a user of Specter you don't need to do anything different (such as annotate parameters) – it just works.

This is great. So transform, select and many others have changed from functions to macros in this release? Are the function versions still available?
How is performance for ClojureScript? Is there much of an overhead compared to manual comp-path?

Sounds great. :)

Yes, the function versions are still available in the com.rpl.specter namespace. They're called select*, transform*, etc.
The performance for ClojureScript is excellent, though not as good as Clojure compared to manual comp-paths. I only tested in a node.js REPL, but for one of the most difficult cases to make fast ([:a :b :c] path), it's 100% slower than manual comp-paths. However, this is still very fast and more than adequate for the vast majority of cljs use cases. The reason that [:a :b :c] is difficult use case to make fast is because the navigation portion is trivial, so it greatly emphasizes any overhead that Specter adds. More complicated navigations will see the performance difference drop precipitously.


Merge DynamoDB event types into single type

Closes #326
All DynamoDB events have now the same CloudEvents type, com.amazon.dynamodb.stream_record, regardless of the operation that was performed (insert, modify, remove).
The operation (type of data modification) is now provided as a CloudEvents extension attribute: operation.
The rationale is explained in the linked issue.

Examples of Knative Trigger filters relevant for filtering events from this source after this change:
# ALL events from DynamoDB
# (required 3 separate Triggers before this change)
filter:
  attributes:
    type: com.amazon.dynamodb.stream_record

# Only table INSERTs
filter:
  attributes:
    type: com.amazon.dynamodb.stream_record
    operation: INSERT

# Events originating from a certain DynamoDB table
# (already possible before this PR, but filtering on 'type' required multiple Triggers)
filter:
  attributes:
    type: com.amazon.dynamodb.stream_record
    source: arn:aws:dynamodb:us-west-2:123456789012:table/triggermeshtest

Absolutely. I'm going to leave this open and think about it for a bit, maybe until we discuss the consequences.
The next question would be whether we want to do the same thing for S3 events, which also use a single schema regardless of the event type.


Add subscription expiration policy to Pub/Sub template

By default Pub/Sub subscriptions expire after 31 days of inactivity. With this PR it is possible to overwrite the default duration.

Thank you for your PR, we will merge this to our new repo. The new repo will be merged back here during the next few weeks. Feel free to check out our current master and dev branches:
https://github.com/GoogleCloudPlatform/cloud-foundation-toolkithttps://github.com/GoogleCloudPlatform/cloud-foundation-toolkit/tree/cft-dm-dev
@bohdanyurov-gl please add this to the CFT repo template. (https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit/issues/135)

@ocsig I see that CFT master was recently updated and includes the change from this PR. Are community cloud foundation templates now superseded by the new CFT repo?

@forwardloop Yes, the new repo is for active development and for future use. I will merge those updates back to this repo for visibility.


test-branch/execute-job/wrong-commit-sha-on-pr/d5e5b06a-e663-454a-8154-fa5390a9f5ad

PR for testing e85a62717bf850a83e4b7ec62d8d9653bc8f161d

/canonical/self-hosted-runners/run-workflows 931ad21dd9ace68aaa0a7d341e94de96ad93fa6b


Remove [comments]

For example, see the start of chapter 9. (And currently the preface.)

Moved to https://github.com/cf-metadata/convert/issues/3


Error: Cannot find module "fs"

Something seems up!
Could this be related to me using fastboot?
Error: Cannot find module "fs"
    at webpackMissingModule (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/-apollo-client-bundle.js:43227:1)
    at Object.<anonymous> (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/-apollo-client-bundle.js:43227:1)
    at Object.<anonymous> (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/-apollo-client-bundle.js:43304:1)
    at __webpack_require__ (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/-apollo-client-bundle.js:20:1)
    at Object.defineProperty.value (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/-apollo-client-bundle.js:44563:1)
    at __webpack_require__ (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/-apollo-client-bundle.js:20:1)
    at Object.__webpack_exports__.b (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/-apollo-client-bundle.js:39714:1)
    at __webpack_require__ (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/-apollo-client-bundle.js:20:1)
    at Object.<anonymous> (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/-apollo-client-bundle.js:51683:1)
    at __webpack_require__ (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/-apollo-client-bundle.js:20:1)
    at /Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/-apollo-client-bundle.js:66:1
    at Module.callback (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/-apollo-client-bundle.js:69:1)
    at Module.exports (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/loader/loader.js:106:1)
    at Module._reify (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/loader/loader.js:143:1)
    at Module.reify (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/loader/loader.js:130:1)
    at Module.exports (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/loader/loader.js:104:1)
    at Module._reify (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/loader/loader.js:143:1)
    at Module.reify (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/loader/loader.js:130:1)
    at Module.exports (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/loader/loader.js:104:1)
    at Module._reify (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/loader/loader.js:143:1)
    at Module.reify (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/loader/loader.js:130:1)
    at Module.exports (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/loader/loader.js:104:1)
    at requireModule (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/vendor/loader/loader.js:27:1)
    at Class._extractDefaultExport (/Users/joshua/Projects/openpilot-configurator-app/tmp/broccoli_merge_trees-output_path-22hU8teG.tmp/assets/addon-tree-output/ember-resolver/resolvers/classic/index.js:408:1)

yeah, I just hit this earlier. It's because of the new release of graphql-tools, which is broken in browsers: https://github.com/apollographql/graphql-tools/issues/915
I was hoping they'd fix it fast enough that I wouldn't have to worry about it, but 😞
I think fix would be to edit this project's package.json to also specify that graphql-tools has to be <3.1.0.

released v1.0.5 that should fix this.


Remove Universal Taxonomy eyebrow from content pages, Mundo

Production:

Development:

 Mundo EXPO PACK website CTAs not in Spanish


the strategy of detecting whether the field should be encrypted was extracted

The change leaves the decision whether the field should be encrypted to the FieldEncryptedPredicate interface. It supports use cases in which enriching the original entity is not optimal.
The original, annotation based strategy has been preserved as default (backwards compatible)

Thanks! I love the idea.
I will need some time to review this.

Will do some cosmetic refactors and make a release.


Propagate edgeworkload annotations

Adds the possibility to propagate annotations in the edgeworkload to the pod manifest. This feature is needed to enable the use of crun annotation  run.oci.keep_original_groups: "1" which instructs crun to keep the same group Ids in the host user to the container user, enabling the possibility of accessing host devices inside the container based on group affinity by the host user.

please commit all the files :)

/lgtm


Update the Time Block lookup on the Course Offering related list and change the related list label to "Course Offerings"

Note: FOR INTERNAL USE ONLY. For support questions, please use the EDA Chatter group in The Power of Us Hub.
For feature requests, please use the Ideas tab in The Power of Us Hub.

Do you want to request a feature or report a bug?
Bug

What is the current behavior?
The Time Block lookup on the Course Offering related list shows Time Block

What is the expected behavior?
The Time Block lookup on the Course Offering related list shows Course Offerings

What is the motivation / use case for changing the behavior?
Jace came across this while populating his GEM org with EDA data and called it out to the EDA Team.

**lurch: add

Tracking W-035966


ci: remove rust cache & audit workflow

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Can we add an API for modifying JSON tag names of struct fields in Sonic library?

I hope that Sonic library can add an API for modifying the JSON tag names of struct fields.
For example, I would like to modify the JSON tag name of the Name field in the User struct from "json:name" to "json:username". Since the tag information is determined at compile time, reflection mechanism is needed to dynamically modify the tag name.
func SetTag(s string) {
    //omit...
    field.Tag = reflect.StructTag(fmt.Sprintf(`json:"%s"`, s))
}

This is a simple requirement that can be achieved using reflection.
Moreover, this requirement is not necessarily related to JSON.
So it is not recommended to add this interface to the Sonic JSON library.

depulicated with #440


feat: implement CREATE2 opcode

Implement the CREATE opcode.
Check:

KKT0
Current PR @ClementWalter from Clement to refactor the state in KKT0
EELS: execution-specs https://github.com/ethereum/execution-specs/tree/master/src/ethereum/shanghai/vm
edge cases

### Tasks
- [ ] Implement CREATE2 opcode
- [ ] Don't forget to increase the CA nonce for each CREATE2 invocation. Note that a PR from @enitrat will soon abstract the nonce storage changes in a Journal, or LocalStorage struct. CREATE can wait until then.
- [ ] Test that the correct address was computed using an example.
- [ ] test that the constructor is executed.
- [ ] check that the nonce of the creator is incremented.
- [ ] check that the nonce of the created account is set to 1
- [ ] check that in case of failure, 0 is returned to the stack and no state is changed
- [ ] check that in case of success, the address of the newly created account is returned to the stack

Help https://github.com/ethereum/execution-specs/blob/master/src/ethereum/shanghai/utils/address.py


autocurry counts **kwargs against 'n' even if they do not correspond to required args

I am trying to autocurry a function such as:
def wrap_with_tag(tag, content, **attrs):
    return '<%s%s>%s</%s>' % (tag, format_attrs(attrs), content, tag)

with the intent that i initial define the tag to wrap with, and then pass the function along through context processors which can add to the attributes if needed. So I'd like to be able to do:
link = wrap_with_tag('a', href='http://google.com')
link = link(class='external-link')
link = link('GOOGLE') # this should funally call the function and return the text

however, the code is counting the kwargs towards the max_n and required_n values in the autocurry function, so it calls the function prematurely and errors out due to the 'content' arg not being present. The line in question is
if len(args) + len(kwargs) >= max_n:
I notice that immediately following that, there is a check done against requried_n, but rather than counting all kwargs, it finds the intersection with required_names and uses that count instead:
elif len(args) + len(set(kwargs) & required_names) >= required_n:
Is there a particular use case i am not seeing which would fail if the intersection count was used in both places? Replacing the count in the max_n comparison with the count from the required_n comparison, my tests work perfectly and output exactly what I intend (func is only called when the 2 required args are both present).

I'll take a look

You can't use intersection of kwargs to required_names, you need to intersect with all names, I guess, which spec currently doesn't return. I'll need to update both get_spec() and autocurry() implementation.


Add 'mp4' to audio_gstplayer.py

Since programs such as LMMS create '.mp4' files that are purely audio even though they should be 'm4a' I have added support for 'mp4' files it will work so long as they are audio only.

+1 (also for using LMMS ;)
2016-12-29 15:53 GMT+00:00 FeralBytes<EMAIL_ADDRESS>
Since programs such as LMMS create '.mp4' files that are purely audio even
though they should be 'm4a' I have added support for 'mp4' files it will
work so long as they are audio only.
You can view, comment on, or merge this pull request online at:
https://github.com/kivy/kivy/pull/4853
Commit Summary

Add 'mp4' to audio_gstplayer.py

File Changes

M kivy/core/audio/audio_gstplayer.py
https://github.com/kivy/kivy/pull/4853/files#diff-0 (2)

Patch Links:

https://github.com/kivy/kivy/pull/4853.patch
https://github.com/kivy/kivy/pull/4853.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/kivy/kivy/pull/4853, or mute the thread
https://github.com/notifications/unsubscribe-auth/ADlPbo_3TGz_xUtzScVGZHzO4Vgq5HFtks5rM9eSgaJpZM4LXq1l
.


Detected as malware by Windows Defender

Version: 1.0.8
Running the application normally is all fine, however when the option to start with Windows is toggled on, Windows Defender detects it as the following:
Detected Item: Trojan:Win32/Rundas.A

Alert Level: Severe

Category: Trojan

Description: This program is dangerous and executes commands from an attacker.

Recommended action: Remove this software immediately.

Items:
file:C:\Users\wopia\Downloads\Taskbar\TaskbarTool.exe
runkey:HKCU@S-1-5-21-2514878431-4172358072-2079176248-1002\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\\TaskbarTools
regkey:HKCU@S-1-5-21-2514878431-4172358072-2079176248-1002\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\\TaskbarTools

For some reason compiling to AnyCPU and x86 triggers a couple of false positives. x64, however, does not do this.
VirusTotal:

AnyCPU

x86

x64

I've compiled a x64 version of the application which you can download if you'd like from this link:
TaskbarTool <IP_ADDRESS> x64.zip


can you please add youtube trailer too?

Sure, I can add a tutorial on youtube sometime during this upcoming summer. If you got any questions, however, feel free to let me know!

Actually i am talking about "Anime Trailler also get from anilist" can you add that?

Anime Episode Name Search Using "Anime Name - Episode Number" ...

I'll look into this. I can add external streaming sites to the library but I need to check to see if their API offers trailer link retrieval. If not, I'll try to work something out and let you know.

I'll look into this. I can add external streaming sites to the library but I need to check to see if their API offers trailer link retrieval. If not, I'll try to work something out and let you know.

but anilist provides by default youtube trailer na?

I took a look. Their API does offer trailer link retrieval and it'll be either from youtube or dailymotion. According to the GraphQL API:
id : String
The trailer video id

site : String
The site the video is hosted by (Currently either youtube or dailymotion)

thumbnail : String
The url for the thumbnail image of the video

I'll implement this when I get time. In the meantime, if you want to fork this and make edits to the query string to enable the retrieval of trailer links, feel free to do so. Let me know if you got any questions.

Hi, did you add this? I can't seem to find it anyware and i'm also looking for the youtube trailer link.


[FEATURE] Please support DeepSeek

Please support DeepSeek
https://platform.deepseek.com/api-docs/
Its ability, especially in Chinese, is close to GPT4

Deepseek uses the same driver as OpenAI. Change your baseUrl and token and you're good to go


1.11.2 startup crash

https://pastebin.com/WRgAj5vD
it just crashes.

Same here, did a clean install with just AR & Libvulpes.

Libvulpes does work! it's just Advanced Rocketry

same here

Turns out to be an ASM handing error.  I didn't catch it because my debug and testing environment doesn't take into account minecraft's obfuscation, I pushed out a build a few minutes ago that should be fixed.

thanks :)


react-sortable-hoc will support  svg icons?

Am using SortableElement, with complex type(svg icon,dropdown,svg icon), while dragging  to list item, dropDown is visible but icons are hidden,
can any one let me know is react-sortable-hoc supports svg or not?

I think not :(


Incompatibility with JDK 21

mvel contains a reference to java.lang.Compiler: https://github.com/mvel/mvel/blob/fc6024adb7e2523f1afc1eefefa4d9c5106282c1/src/main/java/org/mvel2/compiler/AbstractParser.java#L215
That API has been deprecated for removal since JDK 9, and is being removed in JDK 21: https://bugs.openjdk.org/browse/JDK-8205129

This was resolved by https://github.com/mvel/mvel/commit/2eba49dee022e5fd786941be52dde89c6d3631f9, thanks!


ERROR: "Received an unexpected EOF or 0 bytes from the transport stream"

The tool is throwing this error constantly. There's no way to reproduce the issue. It just happens randomly.
Version 1.1.3
Windows 10 on a VMWare Fusion Virtual Machine

Should be fixed in the next update!


New feature: Teams

It's still not completed (so don't merge xD) but I'd like to ask what kind of benefits would you want team members have for being in a team?
I was thinking of adding a chat bot on showTeam path for discussing and maybe show issues/solutions they're assigned to?
Code coverage of "teams" app: 99%

Pull Request Test Coverage Report for Build 20

256 of 258 (99.22%)  changed or added relevant lines in 11 files are covered.
3 unchanged lines in 2 files lost coverage.
Overall coverage increased (+17.7%) to 63.835%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

project/teams/models.py
13
14
92.86%

project/teams/views.py
44
45
97.78%

Files with Coverage Reduction
New Missed Lines
%

nspmessage/tests.py
1
90.91%

nsp/tests.py
2
85.71%

Totals

Change from base Build 11:
17.7%

Covered Lines:
759

Relevant Lines:
1189

💛  - Coveralls

Really great work!


Release TI - mCSD 3.9 with CP integrated

I think it is OK to just build for publication this time.
Mary
Mary Jungers | Documentation Specialist
IHE International | IHE.net
From: John Moehrke @.>
Sent: Monday, December 2, 2024 12:56 PM
To: IHE/publications @.>
Cc: Mary Jungers @.>; Mention @.>
Subject: Re: [IHE/publications] Release TI - mCSD 3.9 with CP integrated (Issue #484)
@MaryLJ https://github.com/MaryLJ  Given this will be a minor change to integrate a CP. Do you think you need to review at the IG level prior to me building for publications? Or should I build this for publication?
—
Reply to this email directly, view it on GitHub https://github.com/IHE/publications/issues/484#issuecomment-2512451047 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AGDULOKHLYBF3PGEYKOEAR32DSUNLAVCNFSM6AAAAABRZCT5RKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMJSGQ2TCMBUG4 .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/AGDULOMTMQEEHA7RP5ZUMAD2DSUNLA5CNFSM6AAAAABRZCT5RKWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTUVYD26O.gif Message ID: @.*** @.***> >


UI: Add useful hint for Sample Data

Instead of showing simply "No Sample Data available", we should show some useful hints on how to get the sample data populated. Something like "To see Sample Data, run the Profiler Ingestion. To schedule Profiler Ingestion, refer to these docs."

cc @ShilpaVernekar to help with the text

Sorry, I missed noticing this...
Here's the edited text
To view Sample Data, run the Profiler Ingestion. Please refer to this doc to schedule the Profiler Ingestion


Some hints can't be loaded in tutorial "Maze"

Describe the bug
Some hints can't be loaded in tutorial "Maze"
Steps to reproduce the behavior
1.Navigate to https://arcade.makecode.com/beta#
2.Tutorials---->Maze----->Start Tutorial
3.Click step by step and observe the hint
Expect behavior
Every hint can be loaded

Actual behavior
Some hints can't be loaded in tutorial "Maze"

Additional context
1.OS: Windows(rs6)
2.arcade version: 1.3.15
3.Microsoft MakeCode version: 6.6.8

The issue just happened in /beta

"Barrel Dodger", "Simple Extensions", "Setting the Scene" have the same issue.

Fixed in live

Fixed by https://github.com/microsoft/pxt/pull/7739


[ResponseCompressionDefaults] Add application/wasm to default MIME types list

Source commit: https://github.com/dotnet/aspnetcore/commit/2d3ad1cb0f9872da40c6d143ce4554563971ae04
Doc: https://docs.microsoft.com/en-us/aspnet/core/performance/response-compression#mime-types

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

ID: 9795b92f-db24-8f1f-88c0-c36666d3526f
Version Independent ID: 2d56d9b6-3d7b-0204-6c08-8e584fccecc2
Content: Response compression in ASP.NET Core
Content Source: aspnetcore/performance/response-compression.md
Product: aspnet-core
Technology: aspnetcore-performance
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

text/javascript - another entry added to default MIME types list. As far as I can see this relates to ASP.NET Core 7.0.
Source commit: https://github.com/dotnet/aspnetcore/commit/b6000f88e22f6bb82a58479992a8860adc4f75a3

Ok ... I'm back ... for a bit. I don't understand the ask. What's the concern here?
I only spotted a couple of points of interest:

The new 7.0 content is at the top of the article's markdown, so it didn't get your, Rick, workaround for broken links until we get to November. With your, Rick, approval, @mmarinchenko could simply cut-'n-paste the entire 7.0 block from the top of the article to the bottom of the article until November, then we'd rotate it back to the top. @mmarinchenko, wait and see if Rick wants to do that because there might be a reason in this case not to do so.

It might be best to link to the main branch of the defaults file and use our INCLUDE under it ...
[!INCLUDE[](~/includes/aspnetcore-repo-ref-source-links.md)]

Which places the following into the content ...
https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/includes/aspnetcore-repo-ref-source-links.md
... and then do NOT list out the default MIME types. The product unit can change them for any release going forward, and the doc will never need an update to cover the changes.


Bug Report: No corresponding policy_assignment for Enforce-Encryption-CMK

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Versions

terraform:  any
azure provider: any
module: enterprise-scale-2.4.1
Description
Describe the bug
When creating policy configuration for landing zones it appears there is no corresponding policy assignment for the policyset definition "Enforce-Encryption-CMK", as shown below:
{
  "customer_000": {
    "policy_assignments": ["?????", "Enforce-TLS-SSL","Deny-Subnet-Without-Nsg","Deny-Resource-Locations","Deny-RSG-Locations","Deny-Public-Endpoints","Deny-RDP-From-Internet","Deny-Public-IP"],
    "policy_definitions": [],
    "policy_set_definitions": ["Enforce-Encryption-CMK", "Enforce-EncryptTransit"],
    "role_definitions": [],
    "archetype_config": {
      "parameters": {
        "Deny-Resource-Locations": {
          "listOfAllowedLocations": [
            "eastasia",
            "southeastasia"
          ]
        },
        "Deny-RSG-Locations": {
          "listOfAllowedLocations": [
            "eastasia",
            "southeastasia"
          ]
        },
        "Deny-Subnet-Without-Nsg": {
           "effect": "Audit"
        }
      },
      "access_control": {}
    }
  }
}

While there are references to assignments for other policy definitions there does not seem to be one in the code or documentation for "Enforce-Encryption-CMK".
This means there is no way to specify an assignment to enforce CMK on storage accounts and VM  disks.
Ideally, there should be a policy assignment to add to the following list in order to specify CMK encryption enforcement.
  "policy_assignments": ["?????", "Enforce-TLS-SSL","Deny-Subnet-Without-Nsg","Deny-Resource-Locations","Deny-

Steps to Reproduce
n/a
Screenshots
n/a
Additional context
An assignment is needed to enforce the policy/set definition "Enforce-Encryption-CMK".
While we can deploy the "Enforce-Encryption-CMK". definition to the landing zone we cannot create an assignment using an assignment configured in the module.

Any update on this?

@archmangler, we only create policy assignments for policies which are included as part of the reference implementation. In many cases, our custom policy definitions are bundled within an initiative and we only have an assignment for the initiative. As such, there are some policies which don't have a corresponding assignment.
There are also scenarios where a policy was included for optional assignment, to help with testing, or has been deprecated. In these cases, we haven't included the corresponding policy assignment template.
For this particular initiative, I'm not aware that we have ever assigned it by default so you would make it accessible by adding your own policy assignment template to your custom lib folder.
We are also currently working on a policy refresh for ALZ all-up. We can add this policy for review/discussion as part of that if it isn't already.
@jtracey93, do you know the status of this particular policy?

@krowlandson  - thanks for the feedback.
An example in this case would be good for those of us struggling to navigate the implementation of the module code. Perhaps a small guide on creating assignments for existing definitions that may not have them ?

Agreed @archmangler... I'll discuss with the team.

This policy will be staying as is today as per: https://aka.ms/alz/policies as not all customers require CMK.
As for the documentation, does this not cover it off? https://github.com/Azure/terraform-azurerm-caf-enterprise-scale/wiki/[Examples]-Create-Custom-Policies-Policy-Sets-and-Assignments#create-custom-policy-assignment-files

@jtracey93... if we are classifying this as a "recommended, but optional" policy, would it make sense to add a template for this one to simplify creating the assignment?
I'd even suggest it justifies a bool input to control it being created or not, but I actually prefer the archetype extension mechanism, as it gives far greater long-term flexibility.

If we want to add an example to the lib then I have no issues with that, but ideally the wiki docs should be sufficient for creating this. So if they aren't, I think we should fix that.

@archmangler Does the above wiki article cover you needs for creating new policy assignment files?


Could you update this lib for working with PreferenceFragmentCompat

This library is great,
Could you update this lib for working with PreferenceFragmentCompat

Sorry, I don't have the time to work on this. You can submit a pull request and I may accept it. I haven't used PreferenceFragmentCompat because when I first checked it out, it was very buggy.


Use an atomic instead of rayon::current_thread_index()

This is an experiment to see if cures the "Address already in use"
errors.

@MarinPostma I don't think this pull request fixes the problem. I have had some success with turning on reuseport for Tonic (https://github.com/chiselstrike/chiselstrike/pull/1567), but it needs some more testing to really tell.


grid of standout projects is off?

eg. blank spaces where there shouldn't be on Firefox 36.0.1

duplicate of #1 (i need to write better issue descriptions)


glibtoolize not present on macos-14 runner

Description
My understanding is that glibtoolize should be present on macOS runners, but something is different about macos-14 runner comparing to macos-12
Platforms affected

[ ] Azure DevOps
[ ] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[ ] macOS 13
[ ] macOS 13 Arm64
[ ] macOS 14
[X] macOS 14 Arm64
[ ] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
Runner image is 20240116.1
I've got the following CI failure after upgrading from macos-12 to macos-14:
  autoreconf: running: glibtoolize --copy --force
  Can't exec "glibtoolize": No such file or directory at /opt/homebrew/Cellar/autoconf/2.72/share/autoconf/Autom4te/FileUtils.pm line 318.
  autoreconf: error: glibtoolize failed with exit status: 2

Is it regression?
Unknown
Expected behavior
glibtoolize should be present on macos-14
Actual behavior
glibtoolize is missing on macos-14
Repro steps

Hello! No, it is not present by default, I'd say on macOS-12 it is installed as a dependency of some package (I have not checked which one), and we have no plans to install auto tools dependencies directly until absolutely needed. You can install one if you need in runtime brew install lib tool takes 3s of execution.


python311Packages.backports-shutil-which: normalize pname

Description of changes
part of #245383
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 305810 run on x86_64-linux 1

14 packages built:

keepkey-agent (python311Packages.keepkey-agent)
keepkey-agent.dist (python311Packages.keepkey-agent.dist)
ledger-agent (python311Packages.ledger-agent)
ledger-agent.dist (python311Packages.ledger-agent.dist)
onlykey-agent
onlykey-agent.dist
python311Packages.backports-shutil-which
python311Packages.backports-shutil-which.dist
python311Packages.libagent
python311Packages.libagent.dist
trezor-agent (python311Packages.trezor-agent)
trezor-agent.dist (python311Packages.trezor-agent.dist)
python312Packages.backports-shutil-which
python312Packages.backports-shutil-which.dist


converters in dart:convert should be lowercase

All final converters in dart:convert should be lower-case.

This was done. The all caps constants in dart:convert were removed.


Query builder find method

Details
Adding a find method to the query class.
The method takes one argument, the primary id of the queried collection and executes an equality look up on the collection.
This method aims to simplify the query class and removes the need for manual filters to be added, as it is already implied.
Example use
$user = [ 'Username' =><EMAIL_ADDRESS>'Password' => '1234', ..., ... ];

$userID = DB::query('User')->insert($user);

$result = DB::query('User')->find($userID);

The find method will result in a query string as such.
SELECT * FROM User WHERE User.UserID = :user_id
For this to work the driver executing the query needs to have knowledge of what the primary id field is named.
Adding a new feature to load information about a collection meta fields to the driver is not within the scope of this issue.
Issue #25 deals with driver meta fields and collection schema.

The find idea will instead be implemented as part of Model the concept.


worldmap:Update world map tooltip positions to stay within the world map

Resolves issue #14760
This is a duplicate of my previous PR #15529. I inadvertently did some serious damage to my fork of RuneLite so I nuked it and started it from scratch.

@raiyni The tooltips still need to be restricted to the viewport, like the vanilla tooltips are

Based on what @Skretzo is saying, if the tooltips stay within the viewport then the overlay drawing order issue isn't an issue that needs to be resolved, right? Since the tooltips will never overlap with anything outside of the world map viewport.

The overlay draw order issue also needs to be addressed because of elements inside the world map:

Could i claim this bug? It's for a university project and I'd reckon that I could get a fix.

Could i claim this bug? It's for a university project and I'd reckon that I could get a fix.

You can work on it and submit a PR with a fix but I don't think anyone will assign sole responsibility for it.


Duration and Artifact fields

Document duration as a possible result attribute
Document Artifact as possible test, and later result attribute

I'll split this into two PRs. Artifact seems to need more discussion.

Not planned as 'test' attribute. Might be part of 'result', depending on solution for issue 2108


Adding opstack plugin to packer

openstack plugin is not bundled with packer by default anymore, adding it explicitly

/test-integration-metal3-dev-tools-ubuntu
/test-integration-metal3-dev-tools-centos

/test-integration-metal3-dev-tools-ubuntu
/test-integration-metal3-dev-tools-centos


Errors after typing brackets in Chrome (Windows) with Swiss Keyboard (German)

Test with SuperEditor 0.2.0, Flutter stable

After typing brackets I can't write in SuperEditor anymore. Every key stroke then produces this error.
======== Exception caught by services library ======================================================
The following assertion was thrown during a platform message callback:

Assertion failed: file:///C:/Users/siuv/fvm/default/packages/flutter/lib/src/services/hardware_keyboard.dart:441:16
_pressedKeys.containsKey(event.physicalKey)
"A KeyUpEvent is dispatched, but the state shows that the physical key is not pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in HardwareKeyboard. This was the event: KeyUpEvent#291b2(physicalKey: PhysicalKeyboardKey#70030(usbHidUsage: "0x00070030", debugName: "Bracket Right"), logicalKey: LogicalKeyboardKey#0005d(keyId: "0x0000005d", keyLabel: "]", debugName: "Bracket Right"), character: null, timeStamp: 0:00:14.086800, synthesized)"

When the exception was thrown, this was the stack:
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49  throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3    assertFailed
packages/flutter/src/services/hardware_keyboard.dart 441:46                                                                <fn>
packages/flutter/src/services/hardware_keyboard.dart 451:14                                                                [_assertEventIsRegular]
packages/flutter/src/services/hardware_keyboard.dart 544:5                                                                 handleKeyEvent
packages/flutter/src/services/hardware_keyboard.dart 821:57                                                                handleRawKeyMessage
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54            runBody
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5            _async
packages/flutter/src/services/hardware_keyboard.dart 808:51                                                                handleRawKeyMessage
packages/flutter/src/services/platform_channel.dart 77:49                                                                  <fn>
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54            runBody
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5            _async
packages/flutter/src/services/platform_channel.dart 76:58                                                                  <fn>
packages/flutter/src/services/binding.dart 377:35                                                                          <fn>
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54            runBody
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5            _async
packages/flutter/src/services/binding.dart 374:98                                                                          <fn>
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/platform_dispatcher.dart 1042:13           invoke2
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/ui/src/ui/channel_buffers.dart 25:12                      invoke
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/ui/src/ui/channel_buffers.dart 65:7                       push
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/ui/src/ui/channel_buffers.dart 130:16                     push
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/platform_dispatcher.dart 304:25            invokeOnPlatformMessage
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/keyboard.dart 130:39                       [_handleHtmlEvent]
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/keyboard.dart 39:7                         <fn>
====================================================================================================

Backets on a Swiss Keyboard (German) are typed in a combo with Alt Graph:

@siuvoniazzi can you please report this to Flutter, as mentioned in the error output that you included?

@angelosilvestre can you check if this bug still occurs? If so, and if it's a Flutter bug, can you file a Flutter ticket or ensure that one is already filed?

@matthew-carroll I tested in both keyboard and IME mode and it doesn't seem to happen anymore.

Thanks. Closing at can't reproduce.


Added contracts, tasks, and test folders

Description

Added the contracts folder, which includes the TazMessage.sol contract used for Q&A and the TazToken.sol contract used for minting NFTs from the artboard.
Added the tasks folder, which includes Hardhat tasks for creating a proof (used in testing), deploying the TazMessage contract, and deploying the TazToken contract.
Added the test folder which includes tests for the TazMessage contract and the TazToken contract. These tests can be run using a local Goerli fork (--network hardhat) or the live Goerli testnet (--network goerli).

Related Issue

Does this introduce a breaking change?

[ ] Yes
[x] No

Other information

Replacing with new PR


WebSocket connection to 'ws://<IP_ADDRESS>:57121/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

Hi, thanks for the module!
Trying to run the WebSocket server example code (https://github.com/adzialocha/osc-js/wiki/Node.js-Server#websocket-server-example, with this workaround https://github.com/adzialocha/osc-js/issues/24) in a webpack based project (using the instructions here https://github.com/adzialocha/osc-js/wiki/Webpack-Bundling), but getting WebSocket connection to 'ws://<IP_ADDRESS>:57121/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
No idea why. I have had success with osc.js but can't get that to work with webpack so trying to migrate to this library.
Any ideas how to figure out why this connection gets refused?
const OSC = require('osc-js')

const osc = new OSC();
osc.open({ host: '<IP_ADDRESS>', port: 57121 });

osc.on('/test', (message) => {
  console.log(message.args)
})

Hi @jarmitage! :-) This is hard to tell, since it might also be related to your network configuration and backend. Did you try using ip address <IP_ADDRESS>?

Hi.
For the about the same reasons than @jarmitage I'm trying to implement osc-js in an node.js app, and I'm getting the same results.
I'm trying to build an app using Webrtc with which people can get and send streams of OSC to use with SuperCollider, Pd, OpenFrameworks, etc.
I haven't linked the osc part with the webrtc, which is working.
When I test it locally the OSC msgs go fine between the browser and SC, but when I deploy the app I get the same errors from jarmitage, both in Firefox and Chrome.
I tried to use the options like so in the node server.js:
const oscoptions = {
  receiver: 'ws', // @param {string} Where messages sent via 'send' method will be delivered to, 'ws' for Websocket clients, 'udp' for udp client
  udpServer: { port: 54321 },
  udpClient: { port: 57120 },
  wsServer: {
    host: '<IP_ADDRESS>', // @param {string} Hostname of WebSocket server
    port: 8080, // @param {number} Port of WebSocket server
  },
};
const osc = new OSC({ plugin: new OSC.BridgePlugin(oscoptions) });
osc.on('/hello', (message) => {
  console.log(message.args);
});
osc.open(); // start a WebSocket server on port 8080

and so in the app itself:
const options = {
  udpServer: { port: 54321 },
  udpClient: { port: 57120 },
  wsServer: {
    host: '<IP_ADDRESS>', // @param {string} Hostname of WebSocket server
    port: 8080, // @param {number} Port of WebSocket server
  },
  wsClient: {
    host: '<IP_ADDRESS>',
    port: 8080,
  },
};

let osc = new OSC(options);
osc.open(); // connect by default to ws://localhost:8080

document.getElementById('send-osc').addEventListener('click', () => {
  let message = new OSC.Message('/test/random', Math.random());
  osc.send(message);
});

I'm doing it from home, so there is no firewall-fancy-stuff here.
If there is any information I could give to circumvent what is causing the problem, please let me know.
best regards,
Gil


Unregister for the document click event on close

The side effects of not unregistering was much worse in v0.3.3 but it is still good to stop interrupting every click.

Onyl now came around testing it, sorry about that. And I got problems with the first demo now, where after the first quitonclick it doesnt work anymore.
And what were the sideffects you were talking about?

What is actual state please ?

Closing this since the original poster seems to be inactive and quitOnDocClick works as intented at the moment. If some issues still exist, please open a new ticket.


What are the kal-el-[...] branches for?

Just out of curiosity. The only differences I have seen are that the readme files are mostly empty.

For a little project I'm working on, testing octokit and it's branch creation process

Ah


Passing max_age as float instead of int to set_cookie(), no cookie will be set

When using response.set_cookie() and passing the max_age parameter as a float instead of an int, the cookie will not be set in the response (that's Python 3.4 and Falcon 0.3.0).
It's clearly documented in the docstring of the set_cookie() method that this parameter is expected to be an int, so I spotted the problem rather quickly after re-reading the docs. However, either a raising an exception or implicitly converting to int would be much less painful, IMO. What do you think?

I'd also be happy to provide a PR if we decide to change this behavior.

I don't think it would harm anything to simply convert it to an int. Happy to take a PR for this change.

See PR #711. After more investigation, the cookie actually was set in the response, with the floating point value to max-age. This violates RFC 6265, so that the cookie parser I used (the requests lib) simply ignored the entire cookie.


Add evaluate to the PDF

Evaluate isn't included in the manual.
Hence I missed it already existed with just a needs evaluate.

Sorry for that, the current version is a bit bugged.
The new one works better.
I've planned a release 20240101


Unbound - Overrides don't override Blocklists

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[X] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[X] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Describe the bug
If you setup a Blocklist to block URL's (setting them to IP <IP_ADDRESS>), and then want to override that BlockList, the override doesn't take effect.  The system still returns <IP_ADDRESS> as the IP for the URL you've created an override for.
To Reproduce
Steps to reproduce the behavior:

Enable and properly configure Unbound

Enable a blocklist

Create an Override, for a URL that exists in a blocklist

Query the Unbound DNS resolver for that URL

Observe it responds with <IP_ADDRESS> per the blocklist, and not the proper IP as defined in the Override.

Expected behavior
I expect to receive the IP set in the Override list.
Describe alternatives you considered
I had to create an entry in my Hosts file on my PC to mitigate this issue.
Screenshots
Can include if necessary.
Relevant log files
Can include nslookup screenshots, WireShark logs, and logs from Unbound.
Additional context
N/A
Environment
Software version used and hardware type if relevant, e.g.:
OPNsense 22.1.1_3-amd64
Exact URL: services_unbound_overrides.php

Long term we might consider changing the loading order (although that might bring challenges of its own), short term you could use the  "Whitelist Domains" option to make sure blocklists skip certain patterns.

This has been fixed as part of https://github.com/opnsense/core/commit/d14ffae4660621e57eeb41fdee8183d8dc8e7355.


Final touches to HTTP and Python API references

What problem does this PR solve?
Type of change

[x] Documentation Update

pip install ragflow，from ragflow import RAGFlow，error: ModuleNotFoundError: No module named 'ragflow'

@lvyoudashuju, We have not uploaded our Python SDK. It should be ready for download by the end of this week. Please stay tuned.


updated documentation, dockerfile, and build instruction

updated documentation links
updated dockerfile to dockerfile.example
updated build instruction for dockerfile

Overview pictures to be updated next, need to check with @Boehmi-TB  as I didn't find any overview pictures suitable for this case


[Feature] Can we use our own ssh client to connect?

In this way, I can use local debugging work and tools like vscode, which will improve the user experience.

/kind feature

/kind feature

/cc @flpanbin


Deploy fails due to Invalid regular expression SyntaxError

The deployment fails with the following error:
SyntaxError: Invalid regular expression: /[(?.*?)]/: Invalid group
The output of the process is:
Automatically optimizing pages
Page                                      Size     Files  Packages
┌ λ /                                     1.1 kB      17        77
├   /_app                                 26.1 kB      0        85
├   /_document
├   /_error                               1.96 kB      0        65
└ λ /[lang]/[flow]/[countries]/[product]  316 kB      36        78
λ  (Lambda)       page was emitted as a lambda (i.e. getInitialProps)
⚡  (Static File)  page was prerendered as static HTML
error:
SyntaxError: Invalid regular expression: /[(?.*?)]/: Invalid group
at module.exports.dynamicRoute (/Users/cristiamdasilva/.serverless/components/registry/npm/serverless-next.js@1.2.3/node_modules/serverless-next.js/lib/expressifyDynamicRoute.js:3:23)
at Object.keys.forEach.r (/Users/cristiamdasilva/.serverless/components/registry/npm/serverless-next.js@1.2.3/node_modules/serverless-next.js/serverless.js:65:43)
at Array.forEach ()
at NextjsComponent.prepareBuildManifests (/Users/cristiamdasilva/.serverless/components/registry/npm/serverless-next.js@1.2.3/node_modules/serverless-next.js/serverless.js:63:32)
at
35s › enantioHosting › SyntaxError: Invalid regular expression: /[(?.*?)]/: Invalid group

Which version of node do you have? You'll need >=10.11.0

Thank you very much for the quick response @danielcondemarin
Now I updated the node version to 10.11.0 and after removing the directories 'node_modules', '.next', '.serverless', '.serverless_nextjs', installing and building everything again, the deploy finished ok.
Awesome, thank you very much again.


getAllHotspotDevices - work very slow (almost 2 minutes) before response

I have performance issues with getHotspotDevices
To show this, I change a little bit your sample app controller.
Here is the code:
#####################################
.controller('DevicesCtrl', function ($scope, $interval) {
"use strict";
var init = function () {
$scope.data = {};
$scope.data.clockTime = 0;
$scope.data.clock = $interval(function(){
	$scope.data.clockTime ++;
	console.log('%c%s','font-size:14px;color:green;',"Sec: " + $scope.data.clockTime);
}, 1000);

  console.log('%c%s','font-size:20px;color:red;',"START: " + $scope.data.clockTime);
      cordova.plugins.hotspot.getAllHotspotDevices(
        function (response) {
          console.table(response);
          $scope.devices = response;
        	console.log('%c%s','font-size:20px;color:red;',"STOP: " + $scope.data.clockTime);
			$interval.cancel($scope.data.clock);
		}, function () {
          alert('Device listing failed.');
        }
      );
};

// init controllers
//init();

// API
$scope.refresh = function () {
  init()
};

#####################################
it took 108 second to get the devices list

I filmed a video to show you the problems.
https://www.dropbox.com/s/msofovh7w58u7ft/hotspot_plugin_slow.mp4?dl=0

please try if the current master is acceptable. Could not really reduce it more due to technically restrictions

I used version 1.1.2 (cordova plugin add cordova-plugin-hotspot)
I also try version 1.1.1 (cordova plugin add cordova-plugin-hotspot!1.1.1) but got the same "slow" results.
now I try to use the git "master" as you asked (cordova plugin add https://github.com/hypery2k/cordova-hotspot-plugin.git) but got empty array

Should be better with 1.1.3

Much faster...

But why reading the arp file is not working super fast?
Is it will be faster to read the file and send as callBack the result "AS IS" and then do the divide to IP & MAC in the javascript?
If the answer is yes, maybe is good idea to add a new methood for that?

the ARP my not contain all devices. But I optimize the method more

Good!
This is still ver 1.1.3 (from the NPM) or will be 1.1.4?

will be 1.1.4
But I'll wait if any other issue comes up before releasing next version

Released version 1.1.4


Disable webpack cache option in prod

I was just reading through the webpack source and realized cache: true doesn't add improve build times for prod builds since it keeps an in-memory cache.

cc @sokra it doesn't seem like the option gets enabled by default in watch mode like the docs say though 🤔 https://webpack.js.org/configuration/other-options/#cache could you verify that?

It's an in memory cache, so it only works in watch mode were the compiler is kept in memory. The default is true in development mode, false otherwise.

Awesome, thanks 🙏 Dropping it from our config then


create "DevOps流程" and add document

create "DevOps流程" and add one document, others will add later

LGTM


Chart group is always showing empty

If you are trying to resolve an environment-specific issue or have a one-off question about the edge case that does not require a feature then please consider asking a question in Devtron Discord channel.
Checklist:

[ ] I've searched in the docs and FAQ for my answer
[ ] I've included steps to reproduce the bug.

Describe the bug
Whenever you land on discover chart page chart group is always showing empty
To Reproduce
[ordered list the process to finding and recreating the issue, example below]

Go to the chart store

Expected behavior
Chart group should be visible if available
Current behavior
Always showing empty chart group
Screenshots

If applicable, add screenshots to help explain your problem.
Logs
Paste any relevant application logs here.

merged


[Enhancement] Use APlayer directly for the music shortcode and support custom playlist

https://aplayer.js.org/#/home

https://github.com/MoePlayer/hexo-tag-aplayer
I should probably implement it in a similar way.

Currently, the shortcode is depend on MetingJS which is no longer maintained. But it does provide a unique function that can fetch music from NetEase Music and QQ Music. Not sure it is still working but directly removing MetingJS might affect some current users. I think I will have to keep both for a while...


Cryptocurrency and Sports update related API

APIs added are -:

API NBA
Brave New Coin

Related to #2 @TheLearneer

@TheLearneer The requested changes have been made


correct the callback url

Fix for https://github.com/project-zot/zot/issues/2191
Callback URL syntax path is incorrect, misses the zot/.  Correct path is given in: https://github.com/project-zot/zot/blob/9def35f3b8b38f5a438146a09087edcec00537c7/examples/README.md?plain=1#L294

What type of PR is this?
documentation
Which issue does this PR fix:
Fix for https://github.com/project-zot/zot/issues/2191
What does this PR do / Why do we need it:
Callback URL is incorrect in docs.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Thank you for the contribution.
The change looks good, please make these changes to the commit and push again:
git commit --amend -s -S to add the signoff email and GPG sign, and prepend docs:  to the first line of the commit message.

@cboettig pls address the CI failures.

sorry for the delay, my signing key expired so I had to retrieve the offline master key to renew my subkey, oof :lock: let me know if that fixes the commit formatting and thanks @andaaron for the clear instructions!

sorry for the delay, my signing key expired so I had to retrieve the offline master key to renew my subkey, oof 🔒 let me know if that fixes the commit formatting and thanks @andaaron for the clear instructions!

Hi, the process itself was ok, but it seems there's a mismatch between the names used:
sign-off not found for commit author: Carl Boettiger<EMAIL_ADDRESS>found: ['Carl<EMAIL_ADDRESS>Is the git user.name setting the same as the one configured for GPG?

thanks fixed.


feat(RELEASE-1214): add support for spdx sbom format

Build team is moving from cyclonedx to spdx sbom format. To support both formats until the transition is over:

The original upload_rpm_data was copied as upload_rpm_data_cyclonedx to preserve the original behavior for now
upload_rpm_data was modified to work with spdx format

So for the review, upload_rpm_data_cyclonedx.py and test_upload_rpm_data_cyclonedx.py are just copies and do not need review?

Correct.

So then as part of this ticket, the tekton task will be switched to use upload_rpm_data_cyclonedx and once the transition is over the task will be modified to use upload_rpm_data and then the *_cyclonedx` files can be removed here? Do I have that right?

Yeah, for now we will run one of the scripts depending on the sbom type: https://github.com/konflux-ci/release-service-catalog/pull/685/files
And eventually we will remove the upload_rpm_data_cyclonedx.py script and the logic in the task and support just spdx.


data collection sample app

Point data collection app, close to reallife case.
1.Collects:

location: from GPS + user-adjusted
photo from camera (upload to s3 bucket, write url).
Simple form: description
automatic field - collection time

Insert to CARTO database, show locally added points

Extra features:

Cache offline until user gets online? With manual button ok.
Allow pre-download offline base map

https://github.com/CartoDB/mobile-team/tree/master/projects/data.collection

Created feature doc for more definitions and background info: https://docs.google.com/a/cartodb.com/document/d/1kIdpz8sMuFn8Kq9kCTDYEQaGTwoOdKeGtSXx8DaPYAI/edit?usp=sharing


Upgrade react-router-dom to v5.0

react-router 5 switches from the legacy context API to React.createContext, which breaks our usage of reading history from context in our Redirect component.
This PR is a bit of a stopgap, in the future, we should probably reconsider how router context is used and if/how/what we fork/extend/wrap from react-router. Ideally we can avoid using any private APIs and avoid similar problems in the future.

!merge


Added GRU to achieve video consistency

First of all, your work is amazing!! I just want to make it clear that I absolutely love this result together with matte anything. However, the main problem for real applications of this type of models is the temporal inconsistency. Since you are applying the model image-wise is impossible to achieve such temporal consistency for videos. This pull request is an attempt to include all the features that made RobustVideoMatting temporally consistent, so that you can easily retrain and see if you solve the temporal inconsistency problem.
The main change is the addition of convolutional GRUs in the detail capture mode. To make it possible to reuse already trained models, I add the ConvGRU layers similar to how it was done in controlnet, by initializing at zero and creating residual connections. This way, you can share a hidden state across frames and so the model can achieve temporal consistency. Nevertheless, that is not enough, I have also added another loss function that explicitly guides the model in achieving temporal consistency.
All the code is more or less recycled from the RobustVideoMatting repository. To not break anything I have duplicated the affected files and added a '_video' suffix. The code is supposed to be backward compatible except for working with 5D tensors instead of 4D. I tried to integrate it as much as possible so that you can rapidly try this idea. However, I am aware that the difficult part of managing the data is not included in this pull request. You would need to download RobustVideoMatting dataset and train on there.
I will be more than glad to help with any doubt or contribute further if you give me directions on the hardware you use or the environment. I really want this model to have temporal consistency so that it can be used in real world applications.

First of all, your work is amazing!! I just want to make it clear that I absolutely love this result together with matte anything. However, the main problem for real applications of this type of models is the temporal inconsistency. Since you are applying the model image-wise is impossible to achieve such temporal consistency for videos. This pull request is an attempt to include all the features that made RobustVideoMatting temporally consistent, so that you can easily retrain and see if you solve the temporal inconsistency problem.
The main change is the addition of convolutional GRUs in the detail capture mode. To make it possible to reuse already trained models, I add the ConvGRU layers similar to how it was done in controlnet, by initializing at zero and creating residual connections. This way, you can share a hidden state across frames and so the model can achieve temporal consistency. Nevertheless, that is not enough, I have also added another loss function that explicitly guides the model in achieving temporal consistency.
All the code is more or less recycled from the RobustVideoMatting repository. To not break anything I have duplicated the affected files and added a '_video' suffix. The code is supposed to be backward compatible except for working with 5D tensors instead of 4D. I tried to integrate it as much as possible so that you can rapidly try this idea. However, I am aware that the difficult part of managing the data is not included in this pull request. You would need to download RobustVideoMatting dataset and train on there.
I will be more than glad to help with any doubt or contribute further if you give me directions on the hardware you use or the environment. I really want this model to have temporal consistency so that it can be used in real world applications.

I was wondering if you went ahead and trained a model with this or anything further occurred?


Status Keycard compatibles wallets ?

Hello,
What are the current wallets compatible and who have integrated the keycard as a hardware wallet?
When will be  ready the first pubic version of Keycard hardware crypto wallet ?
(Compatible with all Major Cryptocurrencies, Ethereum, ERC20 tokens, Bitcoin, Bitcoin Cash, Litecoin, Ripple, ...etc.)

There are several of wallet currently integrating Keycard, and the first one that will come in beta are probably walleth and status.
Also note that Geth has also Keycard support.

WallETH with keycard support should land this week. You can see a hint of it here: https://twitter.com/wallethapp/status/1118375263132426247

Hey,
Please tell me how to use the keycard with your application?
I can not configure it with WallETH, can you tell me how to set it up?
Thanks.

You create a new Account
Select "Connect Via NFC"
the rest should be self explaining
let me know when you face problems

How can I see and store the seed mnemonic words?

you can't - that would defeat the purpose

So if the card is lost, can not you recover the funds?

the card must be duplicated like this:
https://status.im/keycard_api/sdk_duplication.html
that said - this feature is not yet available in WallETH. I see the current support more as a starting point for people to try it out with testnets or very small amounts (like cash that is also gone when you loose it)
But exposing the key to the phone (which you would need to to to show the mnemonic) defeats the purpose in my eyes.

Ok i see ...
Perhaps there is an opportunity to reconstitute the secret using the Shamir Secret Sharing Scheme ...
(several keycards, could be used in the reconstitution procedure)

Can we use this keycard to pay at terminals.  At local stores like tap and Pay after It's been integrated with a wallet?if not when? Or do I have to find a dapp  payment  tool?


feature/add-getting-started-features (WIP)

Changes the Getting Started pages
Adds feature docs

@earth2travis Maybe we should merge in what I have so far with this and then go from there


AoT error: Calling function 'RouterModule', function calls are not supported

I'm submitting a ...
[x] bug report
[ ] feature request
[ ] question about the decisions made in the repository

What is the current behavior?
Running npm run build:aot nothing is compiled. And this command throws an error:
"./node_modules/.bin/ngc" -p tsconfig.webpack.json
Error: Error encountered resolving symbol values statically. Calling function 'RouterModule', function calls are not supported. Consider replacing the function or lambda with a reference to an exported function, resolving symbol DetailModule in ./src/app/+detail/index.ts.

I don't understand, why the RouterModule is seen as a function. I copied and pasted it exactly like in the repository. I used yarn to lock the correct version of angular 2.4.1 and router 3.4.1, used TypeScript 2.0.10. When I remove the RouterModule.forChild(...) the compilation gets further.
When I just use the repository it works correctly.

@Phmager I don't understand your description.
The repository works but you make some changes that does not.
Please provide some code sample...
I think it's a support issue or something.
Note that you cant use lambda function (or non exported symbols) where a symbol is needed (by the compiler)
For example a factory provider can't use a lambda function, it must use a function that was exported
export function httpFactory(backend: XHRBackend, defaultOptions: RequestOptions, globalService: GlobalService) {
  return  new HttpLoading(backend, defaultOptions, globalService);
}

providers: [
        GlobalService,
        {
            provide: Http,
            useFactory:  httpFactory,
            deps: [XHRBackend, RequestOptions, GlobalService]
        }
    ],

You are right, it is a support issue. When I clone the repository it is working. When I apply the AOT commit to my own repository I get that error:
Error: Error encountered resolving symbol values statically. Calling function 'RouterModule', function calls are not supported. Consider replacing the function or lambda with a reference to an exported function, resolving symbol DetailModule in ./src/app/+detail/index.ts.
index.ts:
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';

import { DetailComponent } from './detail.component';

console.log('Detail bundle loaded asynchronously');
// async components must be named routes for WebpackAsyncRoute
export const routes = [
  { path: '', component: DetailComponent, pathMatch: 'full' }
];

@NgModule({
  declarations: [
    // Components / Directives/ Pipes
    DetailComponent
  ],
  imports: [
    CommonModule,
    FormsModule,
    RouterModule.forChild(routes), // <-- This is the problematic line, when I remove it, it compiles further
  ]
})
export class DetailModule {
  static routes = routes;
}

detail.component.ts
import { Component } from '@angular/core';
/*
 * We're loading this component asynchronously
 * We are using some magic with es6-promise-loader that will wrap the module with a Promise
 * see https://github.com/gdi2290/es6-promise-loader for more info
 */

console.log('Detail component loaded asynchronously');

@Component({
  selector: 'detail',
  template: `

Hello from Detail

    <router-outlet></router-outlet>
  `
})
export class DetailComponent {
  constructor() {

  }

  ngOnInit() {
    console.log('hello Detail component');
  }
}

I will try to reproduce the issue with the main repository

The AoT compiler is very sensitive and there are code styles that won't work. See "AoT Don'ts" in the README.
These issues don't have anything to do with this Starter repo and belong under @angular/compiler-cli.

@Phmager it may help you out to look at the changes I had to make to make this repository compatible with AoT. Basically you cannot have default exports, and you need to use the string version of loadChildren in the router definitions.
https://github.com/AngularClass/angular2-webpack-starter/commit/c597344107dfd81530106aaf8f072b9b9a26871f#diff-15e96909d26305ab86756a9d68100c27


Additional ignored documentation inputs

This PR adds api_version and body to the list of input parameters that are ignored in the documentation.

Coverage remained the same at 100.0% when pulling 66f1adf380439ebb90919a7774ca26f96a5772d7 on gemedet:inputs into fda1b35ba411ac90c47b20fbf89fbad5b026c86f on timothycrosley:develop.

Coverage remained the same at 100.0% when pulling 66f1adf380439ebb90919a7774ca26f96a5772d7 on gemedet:inputs into fda1b35ba411ac90c47b20fbf89fbad5b026c86f on timothycrosley:develop.

LGTM +1


[OpenAI-Assistant] Function ToolCall

API change check
APIView has identified API level changes in this PR and created following API reviews.
com.azure:azure-ai-openai-assistants

The FunctionCall already fixed in https://github.com/Azure/azure-rest-api-specs/pull/27638


webkitgtk: 2.32.3 -> 2.32.4

Motivation for this change
https://webkitgtk.org/security/WSA-2021-0005.html
Fixes CVE-2021-30858.
Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Builds on x86_64-linux and aarch64-linux. Tested epiphany on x86_64 (youtube works).


textanims.inc

In connection with the closure of the forum, I tried to search for your inclusion, but all without success, I would like to see this inclusion "textanims", and some other developments as well, I apologize for the English)

That library doesnt exsist anymore but you can find slightly similar library: https://github.com/Agneese-Saini/SA-MP/blob/master/pawno/include/fader.inc


zsh-users/zsh-syntax-highlighting should be loaded at the end

As metion in #24, zsh-syntax-highlighting should be loaded after loading all other plugins and compinit in order to update the syntax highlighting properly.
I am not sure whether this issue is only for zsh-syntax-highlighting or not.
If other plugins also wrap ZLE widget, then they may also need to be loaded in some order to work properly together.

Hi @leomao
In order to solve this problem, I will suggest you to introduce new tag called nice:.
By using the nice tag, the zplug user can set the priority of the loading order of the plugins.
Priority levels of nice range from -20 (highest) to 19 (lowest). In addition, the plugins is loaded after running compinit command when the nice tag is 10 or larger.
# Make sure you use double quotes
zplug "zsh-users/zsh-history-substring-search"
# zplug ...  more plugins

# will run compinit -d "${ZPLUG_HOME}/zcompdump" at this line

zplug "zsh-users/zsh-syntax-highlighting", nice:19

zplug load # will load plugins in the order of nice tag

Images:

If you looks good, I will continue to develop in this branch.

Sounds good to me. :+1:

What a relief! Thanks.

The problem was solved. Please update zplug!

Hi,
I am not sure whether I understood this mechanism correctly or not.
zplug A, nice:-20
zplug B, nice:-10
zplug C

The order will be A -> B -> C ?
It seems that the order is C -> B -> A actually.
Some experiments:
zplug A, nice:-20
zplug B, nice:-10
zplug C, nice:0
#C -> B -> A

zplug A, nice:-15
zplug B, nice:-10
zplug C, nice:1
#B -> A -> C

Maybe it doesn't parse nice as a number?


chore: fix typo

Pull Request Test Coverage Report for Build 6

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 67.417%

Totals

Change from base Build 5:
0.0%

Covered Lines:
626

Relevant Lines:
881

💛  - Coveralls


Add an interactive text editor for basic logic writing

Task Description:
The current logic for creating a Nanobot only allows writing one line at a time. We need to change this to support a more interactive text editor that allows users to edit previous lines. This should be implemented by modifying the logic attribute of the Nanobot, without writing to a file.
Expected Behavior:

The user should be able to input multi-line logic interactively and edit any previous lines as needed before confirming within the logic for the creation of a Nanobot.
The Nanobot.logic attribute should store the entire script.
No files should be created or modified.

Notes:

Avoid copying external code. We encourage new contributors to explain their own logic and approach for solving the issue. PRs with in-depth explanations will be prioritized for review.

To Discourage AI Solutions:
When submitting a PR, please:

Write a brief explanation of how your solution works, focusing on why you chose this approach.
Discuss potential challenges you encountered and how you solved them.
Add Resolves #1 in the PR to link the PR to this issue.

If you do not follow these guidelines, your PR will be closed for AI.

i take up this issue

Sir, I changed the logic , Kindly check the code sir

@Harshini-Purushothaman any update?

This is open for solutions!


How can i use the paperbase theme

hello, i need to know how can use the paperbase theme from the material-ui website
https://material-ui.com/premium-themes/paperbase/
There's no examples where i can achieve this, thanks ....

Did you follow the source code?

Yes but ... i dont understand if i only need to download the theme and then later apply .... sorry if i cant understand 😢

Yes but ... i dont understand if i only need to download the theme and then later apply

@wrtisans You need to copy the custom theme and to use the exposed components. In our case, most the theming was done through the theme.


react-router render(), jsx-no-bind alternative.

I opened a Stackoverflow question (https://stackoverflow.com/questions/50777747/react-react-router-render-jsx-no-bind-alternative) for this.

I'm using react-router and I was using this Switch and these routes:
<Switch>
  <Route
    path="/route1"
    render={() => <ComponentOne data={data} history={history} match={match} />}
  />

  <Route
    path="/route2"
    render={() => <ComponentTwo data={data} history={history} match={match} />}
  />
</Switch>

But after adding https://github.com/yannickcr/eslint-plugin-react is says to me:
[eslint] JSX props should not use arrow functions (react/jsx-no-bind)

So I'm wondering if this way below (with no warnings and error) is good and if it is the same as the way before:
<Switch>
  <Route
    path="/route1"
  >
    {() => <ComponentOne data={data} history={history} match={match} />}
  </Route>

  <Route
    path="/route2"
  >
    {() => <ComponentTwo data={data} history={history} match={match} />}
  </Route>
</Switch>

There is a better way to do this?

Just disable that linting rule. I don't see any reason to have it, as the code is fine with arrow functions. That's how render props are recommended in the official React docs.

@timdorr I have a kind of veneration for you.
In this case, however, @ljharb may be right, but it may be that I am wrong:
Here (https://github.com/yannickcr/eslint-plugin-react/issues/1820#issuecomment-395998528) he says:

You can configure jsx-no-bind to allow arrow functions.
However, there's no way to use inline render props that doesn't create a new function on every render (the spirit of the rule).

and he suggests to use the constructor's bind way to do this.
My question - let's say I have many routes - is:
How much is the gain in terms of performance by implementing the constructor's way?

The React docs sometimes contain antipatterns. If the child is a PureComponent, using an inline render prop like this will cause an unnecessary rerender of the child, as well as of the items being rendered by the render prop. In a small site this may not be significant, but in anything sizable it can add up quickly.


[Refactor] Move credentials/APIs to single file

@oa-s I thought there was a reason to keep them separate, but I can't remember now. Do you?

Have no idea, I know we apply it for some extension for rpc server. To move to separate file. To avoid crash. But for creds


boolean and port provider improvements

Merge documentation changes
improved why_run? support for boolean and port providers.
Slight change to "persist" changed to attribute rather than a separate action
Handles SELinux gracefully when it is disabled.
Tried to keep as much backwards compatibility as possible.
Added include_recipe to default recipe.
Added rhel-5 vs rhel-6 support.

Whats the status on this? I wrote a simple selinux file provider and wanted to send you a pull request, but if this pull request gets merged I will update it to the new format.

I'm still chewing this PR over since it's a lot different than my current philosophy (KISS)
Please submit in the current format, and if I decide to remodel I'll apologize wholeheartedly and see what we can do :)

@knightorc what is the motivation for migrating from simple resources to using shell_out?
I'm not saying it's bad, just trying to understand the reason

I'll have an answer for your questions this evening.

I cherry picked things I could implement myself (and needed now).
The one major thing I avoided is moving out of primitive resources. Please rebase / reply if relevant.
Thanks

Closing due to inactivity. Please rebase and create a new one if still relevant