Splitting the solving chain into intermediate + solving chains to speedup repeated solves

I thought about splitting the SolvingChain in two parts to allow canonicalization caching and faster solution with parametric problems. A good approach could be to split the SolvingChain into:

A intermediate chain (Chain object) performing the canonicalization
A solving chain (SolvingChain object) performing: [EvalParams, MatrixStuffing, solver]

What do you think?
At the moment the split works for QPs if we always redefine the chains at each problem solution, i.e., by ignoring the if chain_key != self._cached_chain_key: condition. However, I get two errors:

conic solvers complain about a NotImplemented graph_implementation method when I apply the _solving_chain
QP solvers return an infeasible status when we use the cached symbolic problem within multiple solves.

Could you have a look at this as well? I believe it would solve many issues such as #410 (speed!) and #624 (different order or constraints in parametric problems).

It sounds reasonable! I'll take a look as soon as I can.

I did some work here: https://github.com/cvxgrp/cvxpy/tree/pr664
I fixed almost all the errors with canonicalizing problems. The remaining errors are either from get_problem_data and unpack_results, which are methods that give the user the solving chain, from the new messages you added for non-DCP/DGP problems, or a few other more complicated cases.

Ok I will look into the two issues later. Would you mind evaluating the changes on some kind of benchmark to see how much it speeds things up with parameters? Something really simple is fine. I know there are other benefits like the fixed variable ordering, but I'm curious about the speed up.

Thanks! I wanted to add a couple of examples in the cvxpy/performance_tests folder but the files there seem deprecated. Are there any other places where you would like to store performance tests?
I have used the example in #409 and #410 with ECOS using this script. I obtained:

master:  ecos_master.txt

this pr:  ecos_pr.txt

The benefits seem more significant for smaller problems. For larger ones, I believe the matrix stuffing is still the bottleneck.

Thanks for the comments @akshayka. I made the edits you suggested.
I totally agree on using intermediate instead of symbolic.  I did not really think about the name.
All the tests pass except the ones I described below. Do you have any idea why?

test_mult_constant_atoms: cvxpy complains that the Product of two non-constant expressions is not DCP even though one of the factors is constant.
I have added a test test_parametric in test_qp.py where I solve a parametric problem with and without parameters. When I use the parameters I get weird data passed to the solver. For example, that specific univariate problem gets additional variables from the construction and it becomes infeasible. EDIT: This happens only for QPs apparently.

I fixed the first test and possibly the second. It's a small fix, on the pr664 branch.

 There's a bug in QpMatrixStuffing. The expression should be copied before the objective is stuffed, since apparently the coefficient extractor modifies the expression in place.
So making the following change to qp_matrix_stuffing.py should (hopefully) fix the problem.
def stuffed_objective(self, problem, extractor):
   # extract to x.T * P * x + q.T * x + r
   expr = problem.objective.expr.tree_copy()
   P, q, r = extractor.quad_form(expr)

   ... [remainder of implementation stays the same as before]

@akshayka is right. I did my own fix that undoes the extractor's changes (on the pr664 branch).

Thank you guys! It seems to be working now.
Before merging I noticed a local Mosek error that does not happen on the CI. Do you also get this output if you have mosek locally installed?

Coverage increased (+0.1%) to 82.816% when pulling 3d22b1f04429e62d41c0958a2a65fbee10d5a363 on bstellato:master into 4eacd25519ed3bc8e13edd4d10c784d3447097e2 on cvxgrp:master.

Coverage increased (+0.1%) to 82.816% when pulling 3d22b1f04429e62d41c0958a2a65fbee10d5a363 on bstellato:master into 4eacd25519ed3bc8e13edd4d10c784d3447097e2 on cvxgrp:master.

Coverage increased (+0.1%) to 82.816% when pulling 3d22b1f04429e62d41c0958a2a65fbee10d5a363 on bstellato:master into 4eacd25519ed3bc8e13edd4d10c784d3447097e2 on cvxgrp:master.

@bstellato , I can reproduce that error locally, at master. So it's not related to your changes.


fix: check lowercase config keys with/without aws prefix in s3logstorefactory

Description
We were only checking if the lowercase aws_copy_if_not_exists or aws_conditional_put are set to return the stores. But we should ignore the case and check for with and without aws prefix, since ObjectStore does this as well.

@ion-elgreco - happy to!  is there a readme anywhere for how to set up for local development?  I've got rust etc. set up on this machine already but totally new to this repo, and not super familiar with rust/python bindings.

keeping up with this branch, and my local dev environment is kind of a mess, but looks like this resolves my issue - "conditional_put", "CONDITIONAL_PUT", "aws_condititional_put", and "AWS_CONDITIONAL_PUT" all seem to work 👍


[BLAS][rocBLAS] Switch to using sycl:: insteald of cl::sycl::

Description
similarly to #167 this PR removes the use of the cl::sycl namespace from the rocBLAS backend. This change depends on #191
Checklist
All Submissions
Tested rebased on #191 merged

[x] Do all unit tests pass locally? Attach a log.
[x] Have you formatted the code using clang-format?

2022-04-25-hipsycl-rocblas-rt-test.txt
2022-04-25-hipsycl-rocblas-ct-test.txt

Rebased on current develop

tests are passing:
blas_test_ct.txt


Fix EBUSY error on Windows when deleting temp file

Closed the previous request, this is an alternative changeset.
This should behave a little more deterministically as the file gets deleted after the process using it is terminated. Additional upside to this is that PhantomJS won't be able to write to the temp file after we delete it.
I was unable to get graceful-fs to work without a similar retry mechanism, though I did see EPERM errors instead of EBUSY. Maybe there's some additional configuration needed that I missed but I couldn't find it.
Possibly the retry timeout should be configurable, but the OS usually unlocks the file almost immediately once the process is terminated. It was working for me even with a setTimout of zero, so the 100 is mostly arbitrary.

I've just tested this change against a project with this issue when using grunt-contrib-jasmine to run tests. On my Windows 7 machine it looks like it has fixed the problem.

I think a best approach would be using rimraf to remove the temp file.
Would you mind updating this PR to use rimraf instead, of course if you have the time to.

Updated PR.

Merged. Thanks :)


Removes Pems code from DiscoveryDNS and runs tests using https

This changes the discoverydns credentials to accept what's actually
needed. java.security.cert.X509Certificate and java.security.PrivateKey
The Credentials concept in denominator intentionally allows values to be
objects. This is so that it doesn't have an opinion on how credentials
which take forms besides string are supplied.
We don't want to get into the business of maintaining Pem reading code
if we can avoid it. This frees users to use bouncycastle or anything
else to construct the certificate and private key.
For the purposes of tests and the CLI, we'd probably still need to
accept Pem format, just not in the base provider.
closes #308

denominator-pull-requests #420 SUCCESS
This pull request looks good

NetflixOSS » denominator » denominator-pull-requests #45 SUCCESS
This pull request looks good


Automate CLI reference doc generation

Currently, the CLI reference is edited manually for each release. It appears possible using Cobra (the CLI framework Daytona uses) to automate Markdown generation based on the commands/subcommands/flags it knows of at runtime.
Implementing this will allow us to generate precise, accurate CLI reference documentation for each release, and ensure that the docs reflect the exact state of Daytona. Once implemented, it means we will not need to manually edit or change the CLI reference docs for accuracy.
cc: @Tpuljak for implementation ideas

Cc @idagelic might have experience with this

Could you open an issue for docs generation in the 'daytona' repo @osslate?
Last time we discussed this, we landed on having the CLI generate the md files on release and push their contents to an S3 bucket, where the docs app would then fetch and display them. Let me know if there is any specific format needed to have it work with any special .md file formatters you're using for the docs, or if a 1:1 command - md file generation is enough for now.

I think a better approach would be that they are generated inside the repo. Similar to how we generate the API client.
The docs can then get the content from URL/tags/<VERSION>.
This is much cleaner I think.

I'm assuming here that Cobra outputs multiple .md files for each command. My ideal workflow, if straightforward to implement:

A script that lives here (daytonaio/docs) executed like ./compile-cli-ref 0.17.0 starts with one of two operations:

Spins up a container, pulls the tagged release from daytonaio/daytona, executes appropriate commands to extract .md files based on the CLI, OR
Grabs the .md files as a GitHub artifact from the release (e.g. in a tar/zip)

The script transforms the collection of .md files into a publishable cli.mdx for user documentation and outputs it to stdout.

The two options yield the same end result, but it depends on whether we want Cobra's .md generation to live entirely in the Docs publishing workflow, or have the generation happen as part of daytonaio/daytona independently and solely do transformation here. I have no strong opinions either way, so it comes down to your preference.
I'm comfortable to implement the script to transform it how I need once there's a way to grab the .md files.

I suggest we demo some options next week and see what works best.

CLI docs now published on https://download.daytona.io/. Working on a script to ingest these and reformat as needed.

@osslate you can check out https://github.com/daytonaio/daytona/pull/609 where you'll see that we added the docs to the repo. You will then be able to get them from https://github.com/daytonaio/daytona/tree/VERSION/docs


[connector.Discord] Handling connection interuptions

We have an issue where we cannot stop threads running from within themselves
Discord currently uses messageConsumer and keepAlive threads. Message consumer being the thread that handles data sent over the websocket, and the keep alive sending a data packet every x seconds to keep the connection alive
When killing the TCP connection to Discord; it should throw the socket_error 104 connection reset by peer. The issue is that this is being caught in the threads themselves by either reading or writing to the socket.
How do we disconnect from the socket; join the threads and try connecting again?

tcpkill -i wlan0 port `lsof -i | grep python | grep -oE ':([0-9]+)' | sed 's/://'`

implemented by : 16f7b2596c27a14638cf68c1e567666ec198f436

Still need to handle case when connect does not give us back a socket connection
Perhaps it'll try several connection attempts?

My remote server constantly keeps dropping connection, need to fix this asap.
Exception in thread KeepAliveThread:
Traceback (most recent call last):
  File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.4/threading.py", line 868, in run
    self._target(*self._args, **self._kwargs)
  File "connectors/Discord.py", line 176, in keepAlive
    self.writeSocket({"op":1,"d": time.time()})
  File "connectors/Discord.py", line 185, in writeSocket
    self.socket.send(json.dumps(data))
  File "/usr/local/lib/python3.4/dist-packages/websocket/_core.py", line 289, in send
    return self.send_frame(frame)
  File "/usr/local/lib/python3.4/dist-packages/websocket/_core.py", line 314, in send_frame
    l = self._send(data)
  File "/usr/local/lib/python3.4/dist-packages/websocket/_core.py", line 472, in _send
    return send(self.sock, data)
  File "/usr/local/lib/python3.4/dist-packages/websocket/_socket.py", line 109, in send
    raise WebSocketConnectionClosedException("socket is already closed.")
websocket._exceptions.WebSocketConnectionClosedException: socket is already closed.

The keep alive is supposed to well; keep the connection alive. I'm not sure why it would just randomly close like that; but you're right, we need to put in handling for the case when send has a closed connection

Handled in: 0cb464d95c2b879d553731ec8b947eb8af3cf17c


Passing Values through If's | Question

Not sure if this is the right place for such questions as well.
But I cannot seem to figure out how to pass a value through an If statement?
In this scenario I want to choose the colour for an effect by condition, but how do I get the value from that condition, since the IF only accepts / outputs actions only?

in Overwatch the green pins are actions

so you could have to store the color in a variable then use the variable to set the color
this should work

Yes, the reason I was asking for this is because I was hoping to avoid the need for more variables.
Since when I originally made the code in workshop it allowed me to nest if statements as such:

Where the output from the IF statement could be any type of information realy, and I used two bools to inform the top level one for example:

Dont know how hard that would be to change, but allowing that would be a massive help!

ah I think I see what you mean the if can take anything but it seems like I have hard coded the If node and I am expecting the user to use the compare node in the If Condition resulting in the if only returning true or false (If that makes sense)

I may need to rethink how the If node is implemented and fix it so it works the same way as in the workshop

Would be excelent if you could make the If node 'context' dependand (based on what you provide it) although I know thats a lot more work than the current implementation.
For now ill work with the workaround of extra variables, but waiting for this for sure!

so reworking the If Node this is an example of what might work best, I may simply add a Green Pin to the If node so the user doesn't have to manually add End to it but if I do that then the user wouldn't be able to add an else...
any thoughts?

Hmm, I'm not really sure I understand the Do something if node, based on the image alone.
My problem with the current state of the IF node is that whatever the result of the IF condition, the current 'output' is an action.
Now I understand why the IF node has an action output pin, because it itself is a registered action to be executed inside the workshop.
But the THEN / ELSE outputs of the workshop IF-THEN-ELSE are type independent, it can return practically anything. Or nothing.
Maybe simply adding an output pin, that would be flexible in what it returns, based on what the 'input' pins are would be for the best.
For example:
IF Variable >= 3 THEN return COLOR:RED ELSE return COLOR:GREEN, if that makes any sense.
The only problem I see with this is the case of nested IF-THEN-ELSE statements.
Because how do we input one into the other.

Maybe when you connect an IF-THEN-ELSE action output pin to the input pin of another, you expose a second (previously hidden) input pin that takes the output of the nested IF-THEN-ELSE?

Hmm, I'm not really sure I understand the Do something if node, based on the image alone.

This is an example of what you would put into the Do Something part of the code

But the THEN / ELSE outputs of the workshop IF-THEN-ELSE are type independent, it can return practically anything. Or nothing.

I'll work on the IF-THEN-ELSE later as that's not an Action (Green Pin) the Else I was referring to is the one show in the image below

If I were to add the Green Pin to the If node and auto handle the End the user would have to make sure they put the Else into the Green Pin on the If Node of the Else might End up After End

Aaah I see, then there was a misunderstanding from my side from the beginning.
You see I treated the IF node as if it were the IF-THEN-ELSE node, not thinking it wasn't implemented yet.
In that case I should probably rephrase what I meant initially. Please add the IF-THEN-ELSE node as practically anything somewhat complex I implement, or just any UI that reads data, heavily relies on this.
The IF node, with the intended usage that you have shown in the above pictures is completely fine and doesn't need to be reworked at all in my opinion.
Because even if the Workshop lets you put anything into it, it still expects some case to compare to actually make use of the action in any sensible way.
Sorry to have made you do unnecessary work.

But in

so reworking the If Node this is an example of what might work best, I may simply add a Green Pin to the If node so the user doesn't have to manually add End to it but if I do that then the user wouldn't be able to add an else...
any thoughts?

But in regards to this, I think this is a better way than before if it allows you to put the ELSE into it as well.
That's my biggest question regarding this really, how do we add the ELSE and does it require you to separate the IF block into its own action list? If so, would it not be better to create a new node that lets you add pins for IF / ELSE inputs?
Something along this line:

Essentially, you specify the IF conditional, that IF TRUE, triggers the action (or action list) that is input to the conditionals corresponding (singular) action pin.
The node always has an else action pin available.
But also lets you add the ELSE IF inputs to the node, in between the IF and ELSE default pins.
Then when you have FALSE on the first condition it reads the second condition pin (ELSE IF), and if all of these are FALSE it defaults to the always there ELSE pin.
If that makes sense?

here is what I got

which will output

I will update the releases and let me know if it's better, ALSO this WILL break some nodes (If, Compare, And, Or) and remove Nodes To Condition as it's not needed

Sorry on holidays atm so no access to PC, will do once I am back.


MIopen missing system database file

MIOpen(HIP): Warning [SQLiteBase] Missing system database file: gfx1030_40.kdb Performance may degrade. Please follow instructions to install: https://github.com/ROCmSoftwarePlatform/MIOpen#installing-miopen-kernels-package

Related to https://github.com/ROCmSoftwarePlatform/MIOpen/issues/1606, should be fixed by https://github.com/ssube/onnx-web/issues/292

Fixed when using PyTorch 2.x, as expected


Add release scripts, bump version to 0.7.0

Which issue does this PR close?

Closes https://github.com/apache/arrow-datafusion-python/issues/7
Rationale for this change

What changes are included in this PR?

bump version to 0.7.0
copy release scripts from DataFusion and update them as needed

Are there any user-facing changes?

fyi @francis-du @isidentical


Top Appbar not working in release Apk. & Gesture also not working properly on news card

Top Appbar not working in release Apk, it works fine in debug Apk. I think the problem in Stream Controller which I used for page transition.
I'll fix this issue soon.

Any update regarding this Bug?

Any update regarding this Bug?

not yet I'll update you soon

Eagerly waiting,
Thank you for response.

Any Update?

any update for this ?


Make "suppress output" setting available on command line

Replaces #5090
Naming of original command line option was misleading, correct that.
Thank you @praimmugen for your contribution.

@freerdp-bot test


Start(ed|ing) IML Swap Emitter...

Seeing tons of Started/Starting IML Swap Emitter messages in the GUI logs.
Maybe only start it once?
Maybe filter the GUI logs for Warning/Error messages by default?

Maybe only start it once?

It needs to be run on a systemd timer as there is no push based way to notify of swap changes.
There is also no way to silence the systemd timer (ref: https://github.com/systemd/systemd/issues/9328)
That leaves us with filtering this particular message before it's ingested into the db.

Hi @jgrund,
Do you have a patch, script or code to apply to a site that is also seeing this issue?
Thanks,
Ian Costello | DDN | Advanced Support Engineer

Hi @jgrund ,
I took a look at the other case you refer to and will try the Unit.SilentOnSuccess config option.
Thanks,
Ian Costello | DDN | Advanced Support Engineer

Hi @costello-ian,
As I understand it Unit.SilentOnSuccess was not accepted into systemd. I think the only way to silence this on the journal  side is to stop using a timer and instead use a daemon that runs on an internal timer.
I'll take a look at doing this.

Hi @jgrund,
Much appreciated!
Thanks,
Ian Costello | DDN | Advanced Support Engineer


Initial commit of AWS tutorial page

Yeah I don't agree with that design either - if we have some form of announcements, it should be more akin to a blog with a post that has a category or tag for tutorial, and not a hard coded "tutorial-2022" page. Does that make sense?

Blog post would be fine by me - this was just what I could put together fastest.
Can you take this content and put it in the blog-style format you are imagining?

This needs a formal design with posts that have tags or categories - we can't just do it quickly because of the deadline and not do a good job. I'll work on it locally and see what I can come up with.


test please ignore

just a test

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-086d2122d98a0a99d.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-086d2122d98a0a99d

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0c5ac153481eb59e2.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0c5ac153481eb59e2

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-08efda7e70a004267.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-08efda7e70a004267

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server destroyed


update data packages jul 17

bump data packages into cdk 2.80 branch, update the script target to run yarn dedupe as well, since I've bumped into that issue a few times.

Could you run yarn cloud-e2e to trigger a e2e test?

Merging, the single failing test here on custom resources is not affected by this change, and is failing currently in the feature branch.


Pure API for the RNG

It would be good to have a pure interface for the RNG, such as what the Haskell crypto-api library provides. This would be useful for composing with pure code as well as for easier testing.
However I'm not sure what the best approach is. The obvious "first attempt" is to clone your g before calling generate on it. However, this causes the RNG internal secret to be stored many times in memory, which makes it more difficult to securely delete later (#11). This may or may not be a big deal security-wise; this needs further thought. It also reduces performance, though probably this wouldn't be significant compared within the overall application.
A "second attempt" is to have:
type pure_g = (index * ref g)

and extend g to remember everything it has generated so far. Then, generate pure_g would either reproduce a previously-generated output (at the relevant index), or advance the "real g" as normal.
This would improve time-performance but would waste a lot of memory, and also it's unclear if storing previous RNG output in memory, is really more beneficial security-wise than storing the previous RNG internal secret states.
A "third attempt" is like the second one above, but with an extra forget function for g to delete all the previously-saved RNG output. This could be called when the application is certain that it never needs old output again, e.g. inside the impure react/poll/read loop of a network application. [1] This would reduce the space costs, however the downside is that the API becomes more complex for the end user.
[1] In fact in most cases it could be called automatically even after pure uses of the RNG; but this would expose the effects of the impure internal implementation to the pure code that is using it, potentially making it impure.

RNG as an ambient effect is a very strong design decision, because randomness is pervasive.
In Haskell, people typically thread pure RNGs around using a state monad. Internally, the meaning of a state monad exactly matches the meaning of our operations on mutable gs. The difference is that externally, you can create a referentially transparent observer  runRandom :: Rng -> RandomM a -> a.
You can match this either by consistently threading a generator around
let f ?g ... =
  ... gen ?g 42 ...
  ... generate ?g n ...
  ... prime ?g 1024 ...

or by setting the assumed generator before your operation.
You can make your own generators by implementing Rng.S.Generator and invoking Rng.create, or you can use the trivial generator that is provided for testing.

Pseudo-randomness does not need to be an effect, because it's completely deterministic for each given seed. I think it's good to make that obvious in the type signature so that it's obvious where the security comes from (i.e. when you seed the generator from a non-deterministic IO entropy source).
Yes, I can achieve a similar-looking result by adding ref g as a parameter to each function but then they would be impure and less-easily testable.
For example in ocaml-tls you have a bunch of pure functions which take state -> state (or similar), I argue that the RNG state is an inherent part of this and passing it around as a reference to a mutable g is destroying some of the purity.
In terms of cryptography, there is really nothing special about RNG secret state vs TLS protocol secret state.
Given all the media uproar about "doing RNGs properly" I can understand the desire to hide away the RNG secret state underneath a private mutable reference that clients can't access, but this doesn't improve the security. As long as you make it clear where the security comes from (the "seed" IO operation) I think that is find from a "responsible crypto library development" point of view.

This idea, that the RNG is an effect because of security concerns -- where did this come from?
I'm staring at the text, staring at the code, then staring at the ceiling.... we cannot possibly be talking about the same code here.

You didn't explain where it comes from here so I extrapolated from previous conversations. Do you want to explain it in more detail then?

It's pure convenience, really.
And the generator state tends to be abstract anyway. I'm not even sure what a flawed reasoning, that hiding the concrete values is improving security, would look like. It's not like you can just leak them.

For reference:
To make a well-behaved randomized function, pass an optional generator down:
let f ?g a ... =
  ... Rng.generate ?g ...
  ... h ?g ....
(* val f : ?g:Rng.g -> ... *)

To use it deterministically:
let new_fortuna seed = Rng.(create ~seed (module Generators.Fortuna))

f ~g:(new_fortuna ...) ...

To have it observe exactly the bytestream that you want:
let generates seed = Rng.(create ~seed (module Generators.Null))

f ~g:(generates "deadbeef") ...

(Or write your own generator.)
To control an ill-behaved function:
let with_gen ~g f =
  let g0 = !Rng.generator in
  Rng.generator := g;
  let r = f () in Rng.generator := g0; r

with_gen ~g:(new_fortuna ...) (fun () -> bad_f ...)

(But only for playing around; sticking that into a library is bad form.)
This is how you are meant to test the RNG clients, or generally make them referentially transparent when needed.
To answer your original point, the simplest way to get e.g. Fortuna to be stateless would be to implement it that way, which is not difficult. Its just that it would complicate things for no gain.
RNGs are special. From the information perspective, not cryptographically. The information that interaction traces impart on an RNG instance is zero, so interacting with RNG is (near-perfectly) non-informative. You never care if somebody arbitrarily advanced an instance, or reseeded it. Why worry about keeping track of its movement around the code, then?

To answer your original point, the simplest way to get e.g. Fortuna to be stateless would be to implement it that way, which is not difficult. Its just that it would complicate things for no gain.

The existing implementation could be left alone, what's needed would minimally be a "clone" function. The pure API could then clone the input, perform operations on the clone, and return that. (i.e. the first option I described in my OP.)


Maintaining original next hop on specific bgppeer

Description
An option to keep the original nexthop field when routes are sent to a BGP Peer. Setting "true" configures the selected BGP Peers node to use the "next hop keep;" instead of "next hop self;"(default) in the specific branch of the Node on "bird.cfg". Thus routes will be send to the external Router maintaining the BGP Original Next Hop. So traffic incoming from external Router can be forwarded directly to the Nodes, without through the Route Reflector.
This is a New Feature that target:

(https://github.com/projectcalico/calico/issues/3666)
(https://github.com/projectcalico/confd/issues/308)
(https://github.com/projectcalico/node/issues/279)
(https://github.com/projectcalico/confd/pull/257#issuecomment-567058423)
and others discussions...

This PR affects basically projectcalico/confd adding a new field in BGPpeer: KeepOriginalNextHop and generate a new Boolean Key in bird.cfg.template defined by next_hop_key per BGPpeer Node, with default value equal to False.
Also, I have extended kubernetes CRD (that is include in libcalico-go) and installed it in my Cluster to test. The last step was recompile calicoctl with the new libcalico-go to help to create new objects with the new field.
A simple use case is create a new BGPpeer using the Route Reflectors to communicate with external BGPpeer ("my-global-peer"):
## Disable the default BGP node-to-node mesh
calicoctl patch bgpconfiguration default -p '{"spec": {"nodeToNodeMeshEnabled": “false”}}'

Make BGPpeers (Route Reflector and BGPpeer):
kind: BGPPeerList
apiVersion: projectcalico.org/v3
items:
- apiVersion: projectcalico.org/v3
  kind: BGPPeer
  metadata:
    name: bgppeer-rr
  spec:
    nodeSelector: all()
    peerSelector: route-reflector == 'true'
- apiVersion: projectcalico.org/v3
  kind: BGPPeer
  metadata:
    name: my-global-peer
  spec:
    asNumber: 65000
    nodeSelector: route-reflector == "true"
    peerIP: <IP_ADDRESS>
    keepOriginalNextHop: true

So, is expect the Nodes send theirs routes to RR ( "bgppeer-rr") and this one sends all of routes keeping original Next Hopes to external BGP peer ("my-global-peer").
        [-----------]                        [---------------]
        [  Node01   ]   w/ next hop keep     [External Router]
        [bgppeer-rr ]  ------------------>   [my-global-peer ]
        [-----------]                        [---------------]
          ^   ^   ^                                 |
    ------|   |   |-------                          |
    |         |          |          Directly Fwd    |
[Node02]   [Node03]   [NodeXX]  <--------------------

IMPORTANT: I did very few tests with and without the reflecting router.
Todos

[ ] Tests
[ ] Documentation
[ ] Release note

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

I did new tests but now without kubernetes datastore, using etcd directly.Thats Ok.

LGTM, will leave this open until the confd changes are approved

@fasaxc I've made a last minute commit correcting a typo. Also, do you want me to squash this in one commit?

Hi @fasaxc  and @neiljerram, I did a Rebase with master branch and an Squash with commit typos. I hope this help to facilitate merge process to the next release, soonly, I hope. Thanks.


AssertionError: assert grds.shape == (x_.shape[0], 1) + self.input_shape

Hi all, I apply CarliniL2Method(classifier...).generate(img_variable.data.numpy()) to generate asversary samples. It shows that
Traceback (most recent call last):
File "adv_tool.py", line 127, in
adv_gen()
File "adv_tool.py", line 113, in adv_gen
img_adv = adv.generate(img_variable.data.numpy())
File "/Users/ostdong/anaconda2/lib/python2.7/site-packages/art/attacks/carlini.py", line 184, in generate
grad_l2p = self.classifier.class_gradient(np.array([adv_image]), label=i_add, logits=True)[0]
File "/Users/ostdong/anaconda2/lib/python2.7/site-packages/art/classifiers/pytorch.py", line 216, in class_gradient
assert grds.shape == (x_.shape[0], 1) + self.input_shape
AssertionError
The classifier I used is Pytorchclassifier. It works for other methods like FastGradientMethod.
img_variable.data.numpy() has shape (1, 3, 224, 224), as stated in the classifier arguments.
The same error with DeepFool method (both targeted and untargeted).
anybody knows why? Thanks!

Hi, @Jindong-Explainable-AI! The fact that you get the error for C&W and DeepFool, but not FGSM confirms that the problem comes from the implementation of class gradients for the PyTorch wrapper. A couple of questions:

Could you confirm that you pass input_shape=(3, 224, 224) to PyTorchClassifier when you create the object?
Is the model you are using one of the standard Imagenet models? This would help us reproduce the error on our side.

Hi, @Irina Nicolae Thanks for the response! I reinstalled the package again with pip command and also manually. And run the code, get the same error! I also tried with different (input_shape) e.g. (224, 224), (1, 224, 224), (1, 3, 224, 224), (3, 224, 224), (224, 224, 3) and so on, still the same error.

model = models.vgg16(pretrained=True)
classifier = PyTorchClassifier(clip_values=(-2.11790394, 2.2489084), model=model, loss= nn.CrossEntropyLoss(), optimizer= torch.optim.SGD(model.parameters(), lr = 0.01), input_shape=(3, 244, 244), nb_classes = 1000, defences = None, preprocessing=(0, 1))
adv = CarliniL2Method(classifier, targeted=False, max_iter=10, binary_search_steps=10, learning_rate=0.01)
adv.generate(img_variable.data.numpy())
the shape of img_variable.data.numpy() is (1, 3, 224, 224)
FYI to reproduce the error!

Thanks for this! Sorry for such an embarrassing error.
FastGradientMethod, BIM use loss_gradient() where assert grds.shape == x.shape
In CarliniL2Method, it uses class_gradient() where assert grds.shape == (x_.shape[0], self.nb_classes) + self.input_shape
The first one has nothing to do with the specified input shape.
That is why one works, it does not work for the other!
Okay, Thanks a lot!


Vc generates warnings with Clang-4.0.1

Vc creates warnings with certain compilers, and it is quite annoying to keep having to change our build systems to filter them all out. Please consider addressing the warnings below in the next release. Thanks!

Vc version / revision
Operating System
Compiler
Flags

Vc-1.3.2
Linux
clang-4.0.1
-Wall -std=c++11

Testcase
#include <Vc/Vc>
int main() { return 0; }

Results
$ clang++ -Wall -std=c++11 test.cc -lVc
In file included from test.cc:1:
In file included from Vc/Vc:32:
In file included from Vc/Memory:32:
In file included from Vc/common/memory.h:31:
Vc/scalar/../common/memorybase.h:463:83: warning: unused parameter 'flags'
      [-Wunused-parameter]
        Vc_ALWAYS_INLINE Vc_PURE MemoryVector<V, Flags> &vectorAt(size_t i, Flags flags = Flags()) {
                                                                                ^
Vc/scalar/../common/memorybase.h:478:89: warning: unused parameter 'flags'
      [-Wunused-parameter]
        Vc_ALWAYS_INLINE Vc_PURE MemoryVector<const V, Flags> &vectorAt(size_t i, Flags flags = Flags()) c...
                                                                                ^
In file included from test.cc:1:
In file included from Vc/Vc:37:
In file included from Vc/simdize:3:
Vc/common/simdize.h:695:71: warning: suggest braces around initialization of
      subobject [-Wmissing-braces]
template <typename Class, typename... Args, typename = decltype(Class{create<Args>()...})>
                                                                      ^~~~~~~~~~~~~~
                                                                      {             }
Vc/common/simdize.h:725:5: note: in instantiation of template class
      'Vc_1::SimdizeDetail::is_constructible_with_single_brace<std::array<int, 3>, int, int, int>'
      requested here
    is_constructible_with_single_brace<std::array<int, 3>, int, int, int>::value,
    ^
Vc/common/simdize.h:946:1: warning: 'tuple_size' defined as a class template here but
      previously declared as a struct template [-Wmismatched-tags]
class tuple_size<Vc::SimdizeDetail::Adapter<Scalar, Base, N>> : public tuple_size<Base>
^
/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/g++-v6/utility:84:5: note: did you mean class here?
    struct tuple_size;
    ^
In file included from test.cc:1:
In file included from Vc/Vc:37:
In file included from Vc/simdize:3:
Vc/common/simdize.h:953:1: warning: 'tuple_element' defined as a class template here
      but previously declared as a struct template [-Wmismatched-tags]
class tuple_element<I, Vc::SimdizeDetail::Adapter<Scalar, Base, N>>
^
/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/g++-v6/utility:102:5: note: did you mean class here?
    struct tuple_element;
    ^
5 warnings generated.

Expected Results
No warnings.

Thanks for the report. I'm afraid I won't find time for this in the coming weeks (or months). I'm prioritizing Vc 2.0 development (which is the C++ standardization work).
My recommendation for you is to treat the Vc headers as system headers (install below /usr/include or /usrl/local/include or include with -isystem instead of -I).

I need the flags parameter declaration for doxygen. The proper workaround adds a #pragma do disable the warning. This is not important enough to fix, though I'd accept a PR.

Obsolete, closing.


Feature/235 organization

Created the Organization screen
Added Organization to the header
Added needed routes for the screen
Corrected a few titles to make all them capital letters like the others:

Asociación/Dónde estamos (also fixed the typo, it was missing the accent)
Asociación/Transparencia
Asociación/Entidades Colaboradoras
Agenda 2030
Voluntarios
Sugerencias

I'd appreciate a bit more quality on all images, but I understand it doesn't depen on you so about everything else, I'd say you're golden!

They're the images I could take from their current website, thanks for approving anyways.

Right now, little changes like changing the background color would make the page really ugly. I understand that those are the pictures that you could get but maybe it would be better to ask for better individual pictures of higher quality and represent them with the names next to them. If it's not possible, update the branch and I will accept the review

Right now, little changes like changing the background color would make the page really ugly. I understand that those are the pictures that you could get but maybe it would be better to ask for better individual pictures of higher quality and represent them with the names next to them. If it's not possible, update the branch and I will accept the review

I'll finish with what I have right now but I'll take your suggestion into consideration and see what we can do, it's a good point.

Updated board of directors.
Deleted potentally outdated educators section.


fix(prow-jobs): change job pull-test-infra-prow-image-build-test to manually triggered

It's a presubmits job of ti-community-infra/test-infra repo.
Signed-off-by: wuhuizuo<EMAIL_ADDRESS>

/approve

/lgtm


Extension issue

Issue Type: Bug
Extension Name: vscodeintellicode
Extension Version: 1.2.12
OS Version: Windows_NT x64 10.0.19041
VS Code version: 1.55.2

:warning: We have written the needed data into your clipboard. Please paste! :warning:

{
	"messages": [],
	"activationTimes": {
		"codeLoadingTime": 1315,
		"activateCallTime": 4,
		"activateResolvedTime": 34,
		"activationReason": {
			"startup": false,
			"extensionId": {
				"value": "VisualStudioExptTeam.vscodeintellicode",
				"_lower": "visualstudioexptteam.vscodeintellicode"
			},
			"activationEvent": "onLanguage:python"
		}
	},
	"runtimeErrors": [
		{
			"name": "Error",
			"message": "Error: read ECONNRESET"
		}
	]
}

Hi @mart-256 - sorry you are hitting this issue. Could you give us more detail on when you're seeing this issue so that we can try to reproduce it?
From the error message this looks like a connection issue, if you're behind a proxy or firewall that could be the reason for the connection being rejected.
Thanks,
Shwetha

Hi @mart-256, are you still running into issues getting IntelliCode to work?

yes....my intellicode does not work at all

Hi @mart-256 are you still experience issues here?
Feel free to open a new issue if you are, would love to hear from you.


Payload notification

Hello,
I have noticed that the parsing of payload notification is not good.
Maybe it is my parsing way is not good...
When I send this data push notification:
"people": {
    		"123":{"name":"Jane Doe", "age":35},
    		"124":{"name":"John Doe", "age":37}
}

I cannot get people as dictionary:
/// Analysis the payload notification from didReceiveRemoteNotification function.
func treat(notification value: [AnyHashable: Any]) {
    log.info("Notification: \n\(value)\n")
    let json = JSONSerialization.makeJSON(with: value)
    let people = try json.getDictionary(at: "people")
    log.debug(people)
}

Log:
2017-04-08 13:26:37.894 [Info] [AppDelegate+PushNotification.swift:166] treat(notification:) > Notification:
[AnyHashable("gcm.message_id"): 0:1491650797197279%6435762e6435762e, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("people"): {"123":{"name":"Jane Doe","age":35},"124":{"name":"John Doe","age":37}}]

The operation couldn’t be completed. (Freddy.JSON.Error error 3.)

Moreover, I can simply get the people data like this:
if let test = value["people"] as? [String: Any] {
    log.debug(test)
}

Did I forget something using Freddy?

I'm not sure what the issue is. The below works fine for me.
func testAnyHashableAny() throws {
    let response: [AnyHashable: Any] = ["people": ["123": ["name": "Jane Doe", "age": 35],
                                                   "124": ["name": "John Doe", "age": 37]]]

    let json = JSONSerialization.makeJSON(with: response)
    let people = try json.getDictionary(at: "people")
    print(String(describing: people["123"])) // Optional(["name": Jane Doe, "age": 35])
    print(String(describing: people["124"])) // Optional(["name": John Doe, "age": 37])
}

Could you share something to help us reproduce the error?

I am using Firebase to receive push notification.
Here my scenario:
Sending message data to a specific device:
POST  https://fcm.googleapis.com/fcm/send
{
	"to": "...iOS_Token_Device...",
	"content_available": true,
	"data": {
		"people": {
    			"123": {"name":"Jane Doe", "age":35},
    			"124": {"name":"John Doe", "age":37}
		}
	}
}

I receive this message from applicationReceivedRemoteMessage delegate function:
[AnyHashable("gcm.message_id"): 0:14916635823233, AnyHashable("aps"): {
    "content-available" = 1;
}, AnyHashable("people"): {"123":{"name":"Jane Doe","age":35},"124":{"name":"John Doe","age":37}}]

Then I try to convert this dictionary to JSON:
func treat(notification value: [AnyHashable: Any]) {
        let json = JSONSerialization.makeJSON(with: value)
        log.debug("JSON: \n\(json)\n")
        let messageId = try! json.getString(at: "gcm.message_id")
        log.debug("messageId: \(messageId)")
        let people = try! json.getDictionary(at: "people") // Exception!
        log.debug("people: \(people)")
}

Log:
2017-04-08 16:59:48.424 [Debug] [AppDelegate+PushNotification.swift:187] treat(notification:) > JSON:
["gcm.message_id": 0:1491663582393746%6ddd, "aps": ["content-available": 1], "people": {"123":{"name":"Jane Doe","age":35},"124":{"name":"John Doe","age":37}}]
2017-04-08 17:16:16.850 [Debug] [AppDelegate+PushNotification.swift:176] treat(notification:) > messageId: 0:1491663582393746%6ddd

When I am trying to get people dictionny an exception is thrown:
expression unexpectedly raised an error: Freddy.JSON.Error.valueNotConvertible(value: {"123":{"name":"Jane Doe","age":35},"124":{"name":"John Doe","age":37}}, to: Swift.Dictionary<Swift.String, Freddy.JSON>)

getDictionary(at:) wants to return a [String: JSON]. The error is telling you that it cannot convert whatever is at the key "people" to be that type.
Can you inspect json and let me know here what is in it (not the log printed to the console, but the types) after you makeJSON(with: value)? I'm curious if you can see what the type for the value is for the "people" key.

Yes I can see the type.

The type for the "people" key is a string...
So I tried todo something like that:
let json = JSONSerialization.makeJSON(with: value)
let peopleString = try json.getString(at: "people")

let peopleJSON = try JSON(jsonString: peopleString)
let people123 = try peopleJSON.getDictionary(at: "123")

And it works
2017-04-08 22:51:18.830 [Debug] [AppDelegate+PushNotification.swift:172] treat(notification:) > JSON:
["gcm.message_id": 0:1491684678179017%6435762e6435762e, "aps": ["content-available": 1], "people": {"123":{"name":"Jane Doe","age":35},"124":{"name":"John Doe","age":37}}]

2017-04-08 22:51:18.832 [Debug] [AppDelegate+PushNotification.swift:175] treat(notification:) > people String: {"123":{"name":"Jane Doe","age":35},"124":{"name":"John Doe","age":37}}
2017-04-08 22:51:18.846 [Debug] [AppDelegate+PushNotification.swift:177] treat(notification:) > People JSON: ["124": ["name": John Doe, "age": 37], "123": ["name": Jane Doe, "age": 35]]
2017-04-08 22:51:18.846 [Debug] [AppDelegate+PushNotification.swift:180] treat(notification:) > People 123 JSON: ["name": Jane Doe, "age": 35]

I would like to know why the makeJSON function does not convert the people dictionary?
Regards,

makeJSON will just match on what it is given. My guess is that the data in question is sent down as string; so, that's what Freddy will make of it.
I don't know if you have any control over the server, but if you do, it's worth taking a look at what's going on there.


Do not try to re-install same PhantomJS version

I've noticed that, after the first install, the scripts try to install again the same PhantomJS binary every time we mess around with Composer. Would be better if it noticed there was no need to update anything, and skip that procedure.

Hi there @igorsantos07. Phantoman doesn't take care of the actual installation of PhantomJS and instead relies on it being present already or installed with PhantomJS Installer. If you're using the PhantomJS installer package, it has a post-update-cmd which re-runs the installation process to ensure the latest version is installed correctly. From what I can see, this is the same installation process as when first installed. It doesn't know if it's installing a new version or not.
I agree that it might be nice if it knew not to "install" when there's nothing to update. If you have some time, I'd recommend proposing that on their repo :smiley:
Thanks!

Whoops. Sorry man!
There was so many phantom/selenium packages installations those days that I opened the issue in the wrong project! Hahaha

Ha no problem :smile:

There's it: https://github.com/jakoch/phantomjs-installer/issues/17


Can we have shorthands for all the methods defined on Object.prototype?

For the symmetry purpose, can we have shorthands for all the methods defined on Object.prototype?

What others would be useful? Perhaps propertyIsEnumerable, but outside of libraries i haven’t had any call to use that, or any of the other Object.prototype methods.

Here's a list of everything on Object.prototype:
Object.prototype.__proto__
Object.prototype.constructor
Object.prototype.valueOf()
Object.prototype.toString()
Object.prototype.isPrototypeOf()
Object.prototype.hasOwnProperty()
Object.prototype.__lookupGetter__
Object.prototype.__lookupSetter__
Object.prototype.propertyIsEnumerable()
Object.prototype.__defineGetter__
Object.prototype.__defineSetter__
Object.prototype.toLocaleString()

Ignoring hasOwnProperty() since its already part of this proposal.
I think it's also safe to ignore constructor because that's just new Object
These members are all part of the "Annex B" for browser compatibility and we probably don't want to promote them:
Object.prototype.__proto__
Object.prototype.__lookupGetter__
Object.prototype.__lookupSetter__
Object.prototype.__defineGetter__
Object.prototype.__defineSetter__

These members seem to be specifically designed to be overwritten as necessary so they wouldn't make as much sense on the top-level Object:
Object.prototype.valueOf()
Object.prototype.toString()
Object.prototype.toLocaleString()

That leaves:
Object.prototype.isPrototypeOf()
Object.prototype.propertyIsEnumerable()

I'm honestly not sure what isPrototypeOf is for when we have instanceof but if anything I think that would belong on Reflect not Object
propertyIsEnumerable also seems to be identical to Reflect.getOwnPropertyDescriptor(O, K).enumerable, and I'm not sure it's common enough to warrant something more specific than that.
Object.prototype.hasOwnProperty stands out to me as something that belongs on Object (and not Reflect), is currently inconvenient to do, and developers frequently need it.

Make sense, reasonable explanation.

propertyIsEnumerable also seems to be identical to Reflect.getOwnPropertyDescriptor(O, K).enumerable, and I'm not sure it's common enough to warrant something more specific than that.

Rather !!Reflect.getOwnPropertyDescriptor(O, K)?.enumerable.
A shorthand for Object.prototype.toString could be very useful for classification since Object.prototype.toString.call(foo).slice(8, -1) is a common pattern.

That pattern was rendered utterly unreliable by ES6, so it’d be a bad idea to encourage its use.

This pattern is enough correct in the vast majority of cases - duck typing. If someone wanna fake it - he will be able to do it anyway if have the access to the environment.

“Enough” correct isn’t something that the core language should encourage.
There are plenty of robust ways it can’t be faked; see https://npmjs.com/~inspect-js

Duck typing is something that should the language encourage - it's good and more than enough for the userland code. Sorry, but that most of this list looks for me like unnecessary crutches. More other, as I wrote, almost all of them could be faked.

For example, your which-builtin-type package which should do the same like the pattern above:
require('which-builtin-type')({ constructor: RegExp }); // => 'RegExp'

Do you really think that it's better than Object.prototype.toString usage?

We don’t need to debate it here, but it very much shouldn’t do that - the packages check for internal slots, not the unreliable/useless constructor property.
Yes, i think it’s exceedingly better than ever using Object.prototype.toString, which is why there’s virtually no usage of it in applications i build (even in the dependency tree).

Yes, I see how good this package checks for internal slots - the good example above. So, I feel sorry for these applications. If you follow a bad practice - please do not impose it on others and, at first, on the language ;-)

Whether that's a "good" example depends on your use case. { constructor: function RegExp(){} } is not a regex, doesn't inherit from RegExp.prototype (so it doesn't even have RegExp's weird Symbol methods), and won't pass internal slot checks. Anything that describes that object as a RegExp would be what I call a very bad pattern.
Either way, this issue and this repo are not an appropriate place to debate general programming philosophies; suffice to say a brittle Object.prototype.toString-based approach would not achieve consensus.

Whether that's a "good" example depends on your use case. { constructor: function RegExp(){} } is not a regex, doesn't inherit from RegExp.prototype (so it doesn't even have RegExp's weird Symbol methods), and won't pass internal slot checks. Anything that describes that object as a RegExp would be what I call a very bad pattern.

But why your package shows RegExp for this very bad pattern? -)
It's just a simple example where fails the package which you recommend as the replacement, but the simple pattern works perfectly. I could show many other examples, but why? The only way to "break" this simple pattern - Symbol.toStringTag - which just adds the possibility of duck typing to this method and is required for proper polyfilling - so it's rather a "fix", not a "break". It's perfect that with this method we could see Set instead of Object for polyfilled Set.
So, you wanna resist duck typing in JS at all, or it the only case because you have many packages for "fixing" it?

I didn’t realize that was a bug report; certainly I’ll fix it. That’s clearly not something often done in real code, or it’d have been reported sooner.
Duck typing is idiomatic but in no way is it typically robust in its use; i don’t want to encourage brittle patterns even if they’re common.

You could fix this bug, but checking all possible internal slots on all possible exotic environment objects is doomed to fail. This package is already too bloated, but even if it will be a megabyte, it will fail in more possible cases than toString.
Sometimes in some libraries code we need something like that:
switch (Object.prototype.toString.call(collection).slice(8, -1)) {
  case 'Array': ...;
  case 'Set': ...; // we want that it matches not only global `Set` but also, for example, pure `Set` polyfill instances
  case 'Map': ...; // the same
  default: throw TypeError('Called on unknown collection type');
}

Object.prototype.toString is the best option here and it does not require dozens of kilobytes for this simple detection.

I think this discussion has gone off in a different direction than the issue's purpose.
I also don't think this is the appropriate proposal to attempt improving runtime type checks. Such a proposal would warrant a much more complete consideration of the language than just promoting methods from Object.prototype to Object, and while I'm supportive of the idea, I'm not going to pursue that here.


Implement HLSL clip() intrinsic in GLSL

HLSL shaders can use the clip() intrinsic (https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-clip)
There is no equivalent intrinsic in GLSL so we should implement it similar to:
void clip(T x)
{
  if (any(x < 0))
    discard;
}

Already implemented.


All episodes are not being scraped.

API URL: https://imdb-api.projects.thetuhin.com/title/tt15527388/season/1
IMDb URL: https://www.imdb.com/title/tt15527388/episodes?season=1
Extraction is improper. Please look into this.

You'll only get 1 episode, because if the image and the plot are unknown, it breaks the loop.


Certain Database IDs get missed

Hi Alex,
I hope you are doing fine.
During a recent forensic investigation I noticed the ccl_chromium_indexeddb.py wouldn't process and database IDs higher than 127. In real life scenarios I have seen much higher IDs, such as  544:
DatabaseId(dbid_no=543, origin='https_teams.microsoft.com_0@1', name='Teams:app-device-permissions-manager:e2737957-fab8-4d7e-94f6-9bd6af9f7158:228fbaa3-4bee-4598-9980-8fcebd19df2d')
If I understand the Google documentation correctly, the dbid_no can be 1 - 8 bytes long.
I am currently investigating a way to cleverly collect the global Metadata for all records. Please let me know, if you are already working on something yourself so we could join forces.
In particular, I am taking about these lines of codes:
https://github.com/cclgroupltd/ccl_chrome_indexeddb/blob/c3fcb3876b9aadf375536cbdf437c94df357d276/ccl_chromium_indexeddb.py#L378-L407

Hi Alexander - I have a method for that in my .NET library that I could probably port pretty easily. The "not supported" is related to building the key to search for, so it's just a case of encoding it differently. Let me have a look.

Actually scratch that - I had already implemented it, I just missed that single place where it needs to be called. Fix in the next few minutes then!

That should be fixed in 0b80ecd.
Could you give it a go with your problem database and let me know please?

@cclgroupltd  Yep, that did the trick.

Mentioned this ticket in ///forensicsim
which is a tool you can extract Teams data, and archive it


Deadcode and XML Error cleanup

No real "changes" here besides the alternate languages with the Diplomacy Screen stuff.  The rest is just minor things to either delete files or clean up issues that would cause XML language files to fail to load.

Remove the dead code (Integrations\URS, Integrations\IDS)
Move IDS text files to CQUI Text folder, renamed cqui_diplomacy_text_*
Add diplomacy text for languages where it was missing (via google translate)
Fix the issues with the XML files in the Integrations folders so the errors seen in Modding.log go away

Why do you want to keep IDS text files when the IDS itself is removed? What’s the point?

4 strings - "Duplicate", "Trade with", "Suzerain of", and "Untradable" - which are all in the tooltips like seen above

I'm going to break this one up into smaller pieces and re-do it.  Separate the "Fix text" from the "delete things we don't need"


302 Found response and a JS odyssey

Hi, here I am again already!
So as I said I did manage to login. Three chained ajax requests, the first of which gets the sign_in page and extracts the csrf token. If I try to log in twice in a row though, the sign_in page requests fails with a 302 found error. Now as you know browsers are supposed to handle such requests trasparently so I have no control over it.
That wouldn't be much of a problem, but aparently the request to sign_out also needs a csrf token which I need to get from the sign_in page (?!). Since JS is not allowed access to the session variable, I don't have much to go with.
Any ideas?
Thanks

@alianos- Are you intending to run Panoptes standalone for this project? Or do you just want a custom front-end to our future deployment of Panoptes? If it's the later we, allow OAuth2 authorization for third-party applications that is significantly easier to implement than the username/password authorization.
I'll try to swing around an answer your actual question in a bit. I'm just curious.

I am not really sure of what options I have! What do you mean "your deployment of Panoptes"? You will run your own server where people can host their own projects?
I believe the approach taken here (i.e. for this project), is to set up our own server. One of the partners has written the public UI which I am now trying to connect to Panoptes. At the same time we are working on a management UI (to add projects, workflows etc).

Sorry that wasn't super clear.
When Panoptes is finished enough to deploy and make publically available, we will provide a way for third-parts to integrate their websites with Panoptes, so users can log into your project with their Zooniverse credentials and your site can retrieve subjects and send classifications on their behalf.

That sounds awesome mate. When you say "intergrate their websites with Panoptes" I assume you mean with a central server running somewhere (which you also call Panoptes), and not the platform itself, right? Sounds like a pro idea.
By the way you just sparked a question I had for some time now. When we finish with UI/Panoptes connection, we plan to launch the site. Would you say that Panoptes is ready for that?

No at the moment it's not ready to go. It should be ready by the end of February.
By "integrate", I mean we'd provide a way for users to log into your site and for you to store your subjects and classifications. Basically your site would have a "Login with Zooniverse" button that would direct your users to page where they can authorize your application (much like when you use "Login with Facebook" or "Login with Twitter"), and your application will get a token you can use to make requests as that user against our server's API.
That authorization method is much easier to implement than the one that requires a username and password since it's the one specifically designed for non-Zooniverse projects.

As for your original question. I think you just need to get a CSRF token to do the sign_out? I think you can use the one that's included on the main page for the site. If you request "/" there should be a meta tag with the CSRF token on the page.

Oh. Well yes that makes much more sense. To be honest I was counting for that since there is OAuth in the package but I had no info to go on with. Typically users are allowed to do both however, register locally, or log in with another account. So I think getting it to work is not a waste of time.
As for you answer I though of that and I will try it asap, but it doesn't actually solve the problem, since then I will not able to log back in, right?

Nope you should still be able to log in. The 302 response only happens because you are already signed in.

Worked like a charm. Thanks. I'll post the scripts once things settle down a bit.


fix issue #74

Currently, we are not planning to use the controller that is part of the refactoring. Please proceed to remove the 'controller' folder and instead utilize the single file 'api/index.ts' for managing all the guarded API routes related to the client dashboard.
Furthermore, I'd like to emphasize that our API endpoints adhere to a specific convention: [baseUrl]/server/**. The inclusion of the 'server' keyword is crucial for load balancing and rerouting on the proxy server. This design choice is made because all our ML/AI codes reside on the Python server. I hope this clarifies the rationale behind it.
Regarding the 'getPaginatedUserActivities' function, there is already an empty route created in the file described.
Lastly, I recommend avoiding offset-based pagination and instead opt for cursor-based pagination, which involves specifying both the size and cursor (any column) for more efficient results.


Presence: Not all devices are checked

Hi there,
I tried out the presence feature (my main feature in this plugin), but sadly it does not work very well. It seems like only the first and the last device is updated correctly.
E.g.:
    "presence": {
        "anyoneSensor": true,
        "delay": 30,
        "type": "motion",
        "devices": {
          "Handy 1": "MAC", // connected -> plugin shows connected -> correct
          "Handy 2": "MAC", // connected -> plugin shows DISCONNECTED -> BUG
          "Handy 3": "MAC", // disconnected-> plugin shows disconnected -> correct
          "Handy 4": "MAC", // connected -> plugin shows DISCONNECTED -> BUG
          "Handy 5": "MAC"  // disconnected-> plugin shows disconnected -> correct
        }
      }

On startup I get the message [FritzBox] [INFO] Welcome at home Handy 1 and a few lines later it prints [FritzBox] [WARN] Handy 5: Switching to no presence.
The status is correct for these two ones, but your plugin does not detect (or even check) the other devices (Handy 2 and 4 were connected to the network as well).
Edit: Works fine on version 2.6.4, just not with the latest one.
Best regards

same issue here with the latest version. It only detects 2 devices at the beginning and then drops them as well and afterwards I do not get any notification anymore from Telegram

Same here.

Same here, i think the iteration is not working correctly. Only the first device is getting recognized correctly.

Same here.

can u try with v2.8.0 pls?

Works again.  Thanks for the Update!

Yes, v2.8.0 seems to have solved the issue. Thanks a lot!


Test failures in 0.8.0

Guys, it is a general practice that releases contain not only sources, but binaries as well. I don't want to build by myself, especially when executing mvn package against 0.8.0 release gives the error below
(Luckily, mvn -Dmaven.test.skip=true package succeeded), but anyway not nice:
...
Running com.microsoft.azure.keyvault.test.KeyOperationsTest
Waiting to avoid throttling
Waiting to avoid throttling
Waiting to avoid throttling
Waiting to avoid throttling
Waiting to avoid throttling
Waiting to avoid throttling
Waiting to avoid throttling
Waiting to avoid throttling
Waiting to avoid throttling
Waiting to avoid throttling
Waiting to avoid throttling
Waiting to avoid throttling
Waiting to avoid throttling
Waiting to avoid throttling
Waiting to avoid throttling
Tests run: 9, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 3.73 sec <<< FAILURE! - in com.microsoft.azure.keyvault.test.KeyOperationsTest
listKeys(com.microsoft.azure.keyvault.test.KeyOperationsTest)  Time elapsed: 0.682 sec  <<< ERROR!
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at com.microsoft.azure.keyvault.FutureAdapter.get(FutureAdapter.java:53)
at com.microsoft.azure.keyvault.test.KeyOperationsTest.listKeys(KeyOperationsTest.java:382)
Caused by: java.lang.NullPointerException: null
at com.microsoft.windowsazure.exception.ServiceException.create(ServiceException.java:158)
at com.microsoft.azure.keyvault.KeyOperationsImpl.deleteKey(KeyOperationsImpl.java:516)
at com.microsoft.azure.keyvault.KeyOperationsImpl$4.call(KeyOperationsImpl.java:443)
at com.microsoft.azure.keyvault.KeyOperationsImpl$4.call(KeyOperationsImpl.java:440)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Running com.microsoft.azure.keyvault.test.SecretOperationsTest
Tests run: 4, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.191 sec <<< FAILURE! - in com.microsoft.azure.keyvault.test.SecretOperationsTest
listSecrets(com.microsoft.azure.keyvault.test.SecretOperationsTest)  Time elapsed: 0.515 sec  <<< ERROR!
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at com.microsoft.azure.keyvault.FutureAdapter.get(FutureAdapter.java:53)
at com.microsoft.azure.keyvault.test.SecretOperationsTest.listSecrets(SecretOperationsTest.java:257)
Caused by: java.lang.NullPointerException: null
at com.microsoft.windowsazure.exception.ServiceException.create(ServiceException.java:158)
at com.microsoft.azure.keyvault.SecretOperationsImpl.delete(SecretOperationsImpl.java:153)
at com.microsoft.azure.keyvault.SecretOperationsImpl$1.call(SecretOperationsImpl.java:88)
at com.microsoft.azure.keyvault.SecretOperationsImpl$1.call(SecretOperationsImpl.java:85)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
...

I did some extra digging, accordning to documentation HttpEntity#getContentType() is nullable as well as HttpResponse#getEntity()  (https://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/HttpEntity.html#getContentType() https://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/HttpResponse.html#getEntity()).
Need to add an extra check wherever applicable.

The latest release is 0.8.3 and you should be able to get the binaries from maven central.
Could you verify if the issue still exists?

Closing as we haven't heard back from you. We assume this is no longer an issue for you. Please reopen if necessary.
Thanks for reporting issues to Azure SDK for Java.
Jianghao

I apologize for delay - didn't yet had time to look. Apparently, the issue still exists in 0.8.3. Attaching build log
output.txt


Fix disk io on main thread, SearchAndFavoritesWidget

Task/Issue URL: https://app.asana.com/0/0/1202898288430601/f
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

Current dependencies on/for this PR:

develop

PR #2245   👈

This comment was auto-generated by Graphite.


Fix some typos

Fix some typos

wow. Is this project tested with CircleCI? great!
I should have written 'skip ci'. sorry ;)

Thanks, I confirmed it.
Yes! I try to use CircleCI.
This repository's test is CoffeeLint only. There is no hindrance.


add repeat-one icon

Preview

Reference #119

I just added repeat one in #187 :P
But BTW you on :fire: Nice contributions!

Oh! My bad didn’t saw the exiting PR.

No problem!


Support for ESP8266

Originally requested by @Lasermax3000 on the RadioLib repository: actual support for the ESP8266.
There seems to be no genuine implementation of EEPROM, apart from the sketchy implementation that is also available for ESP32. However, since the Nonces buffer is only 16 bytes, it shouldn't be too bad (paging @ropg: can you tell, please, if writing these 16 bytes doesn't have weird write/erase side effects?). Plus only writing upon joining makes it not bad at all.
The following link demonstrates the use of RTC RAM: https://arduino.stackexchange.com/questions/91580/esp8266-rtc-memory-for-bootcount
Luckily, it appears there's just enough RAM to fit a session and have a bit spare for user application.

I started on ESP32s, so never worked much with 8266s. I'm not happy with how the ESP NVM key/value storage works in general, but writing a 16-byte blob is fine, esp. since the nonces don't change as often.

I only ever used 8266 once.. and ESP32 on all other occasions :) but would you even say that you prefer 16-byte EEPROM blob over Preferences.h, or is Preferences still preferred then?

@Lasermax3000 I had a few dull hours this morning, so I built a sketch that might work. It compiles, but I do not have any ESP8266 around me right now to test it on.
RadioLib 6.5.0 will come out this evening likely which is the version that is required for this sketch to even compile (or you can download the current RadioLib source if you want to check it out before 6.5.0 is released).
Please report your experience, and if possible it would be nice if you can enable the RADIOLIB_DEBUG_PROTOCOL flag and share the output of your device :)

@ropg sounds like EEPROM will work just fine for the foreseeable future, thanks :)
We can see later about saving sessions to EEPROM intelligently, but that's another story.


Alignment with the w3c-ccg traceability vocabulary

I'm currently assessing the best way to publish credential schemas from this repo on the traceability vocab repository.
There are 2 draft PR's on the traceability vocab repo to draft public schemas around the Mines Act Permit and the Petroleum and Natural Gas Title credentials. These were discussed today during the traceability call. Here are some outcomes:
The traceability group is encouraging BC to submit BC specific credentials and title them as so. Therefore the credential types should figure as so:
BCGovMinesActPermit, BCGovPetroleumAndNaturalGasTitle
The json-ld credentials are usually using CamelCase instead of snake_case to represent keys and values. I will investigate if this would create a technical compatibility issue.
There was one question raised which was to determine if these credentials are a digital representation of physical documents or they are a new numeric data representation. Could someone clarify this? @krobinsonca
I would also like an example of an issued credential with example data, to include into these schemas.
The goal of this step is to engage into discussions from both parties around the interoperability of these credentials.

Closing this as we are now aligning with the UNTP specification


user-demo: added distributed tracing and Jaeger

added support for tracing and Jaeger

I'm leaving a screenshot here, in case I want to show the final result to someone:


permission denied to create extension "pg_trg

(lemur) lemur@ubuntu-xenial:/www/lemur/lemur$ lemur init
[2019-10-08 06:16:57,456] WARNING in managers: Plugin 'DigiCertCISIssuerPlugin' may not work correctly. Required variable 'DIGICERT_CIS_API_KEY' is not set in Lemur's conf.
Plugin 'DigiCertCISIssuerPlugin' may not work correctly. Required variable 'DIGICERT_CIS_API_KEY' is not set in Lemur's conf.
[2019-10-08 06:16:57,457] WARNING in managers: Plugin 'DigiCertCISSourcePlugin' may not work correctly. Required variable 'DIGICERT_CIS_API_KEY' is not set in Lemur's conf.
Plugin 'DigiCertCISSourcePlugin' may not work correctly. Required variable 'DIGICERT_CIS_API_KEY' is not set in Lemur's conf.
[2019-10-08 06:16:57,457] WARNING in managers: Plugin 'DigiCertIssuerPlugin' may not work correctly. Required variable 'DIGICERT_API_KEY' is not set in Lemur's conf.
Plugin 'DigiCertIssuerPlugin' may not work correctly. Required variable 'DIGICERT_API_KEY' is not set in Lemur's conf.
Traceback (most recent call last):
File "/www/lemur/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1249, in _execute_context
cursor, statement, parameters, context
File "/www/lemur/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
cursor.execute(statement, parameters)
psycopg2.errors.InsufficientPrivilege: permission denied to create extension "pg_trgm"
HINT:  Must be superuser to create this extension.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/www/lemur/bin/lemur", line 11, in
load_entry_point('lemur', 'console_scripts', 'lemur')()
File "/www/lemur/lemur/manage.py", line 587, in main
manager.run()
File "/www/lemur/lib/python3.7/site-packages/flask_script/init.py", line 417, in run
result = self.handle(argv[0], argv[1:])
File "/www/lemur/lib/python3.7/site-packages/flask_script/init.py", line 386, in handle
res = handle(*args, **config)
File "/www/lemur/lib/python3.7/site-packages/flask_script/commands.py", line 216, in call
return self.run(*args, **kwargs)
File "/www/lemur/lemur/manage.py", line 198, in run
create()
File "/www/lemur/lemur/manage.py", line 148, in create
database.db.engine.execute(text("CREATE EXTENSION IF NOT EXISTS pg_trgm"))
File "/www/lemur/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2179, in execute
return connection.execute(statement, *multiparams, **params)
File "/www/lemur/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 988, in execute
return meth(self, multiparams, params)
File "/www/lemur/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 287, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/www/lemur/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1107, in _execute_clauseelement
distilled_params,
File "/www/lemur/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1253, in _execute_context
e, statement, parameters, cursor, context
File "/www/lemur/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1473, in _handle_dbapi_exception
util.raise_from_cause(sqlalchemy_exception, exc_info)
File "/www/lemur/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 398, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/www/lemur/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 152, in reraise
raise value.with_traceback(tb)
File "/www/lemur/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1249, in _execute_context
cursor, statement, parameters, context
File "/www/lemur/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.InsufficientPrivilege) permission denied to create extension "pg_trgm"
HINT:  Must be superuser to create this extension.
[SQL: CREATE EXTENSION IF NOT EXISTS pg_trgm]
(Background on this error at: http://sqlalche.me/e/f405)
(lemur) lemur@ubuntu-xenial:/www/lemur/lemur$

FIX:
Adding Superuser role to lemur user and run init again.
postgres=# \du
List of roles
Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
lemur     |                                                            | {}
postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
postgres=# alter role lemur createrole SuperUser;
ALTER ROLE
postgres=# \du
List of roles
Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
lemur     | Superuser, Create role                                     | {}
postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
postgres=#


Remove async-trait

See

rust-lang/rust#115822
tokio-rs/axum#2308

keep using async-trait for the time being because we need dynamic dispatch.
see https://blog.rust-lang.org/2023/12/21/async-fn-rpit-in-traits.html#should-i-still-use-the-async_trait-macro.

keep using async-trait for the time being because we need dynamic dispatch.
see https://blog.rust-lang.org/2023/12/21/async-fn-rpit-in-traits.html#should-i-still-use-the-async_trait-macro.


Add LICENSE file check in common tools

Everyone should be using the license file content from https://docs.opensource.microsoft.com/releasing/maintain/license/ and for consistency we should use the file name LICENSE and not LICENSE.txt. We should always have a LICENSE file in the root of the repo and we should also include one with the package if that is the way the ecosystem works. For example, python, go and js are source-based packages so in those cases we also need to have a copy of the file in each package folder in the repo. For Nuget the recommendation is to set the license via the package metadata and not have the file copied all over the repo. So if we can avoid having the file duplicated for every package in the repo we should be we cannot in all cases.
We should create a pipeline check to ensure that the license file matches in content as well as file name so we can plug it into our various language pipelines.

We're suspicious that Microsoft has already implemented these checks to happen automatically so we may have nothing to do here.  Please double check and close if there's nothing left to do.


The dameon has unexpectedly shutdown. 0.91.1

The dameon has unexpectedly shutdown.
Steps to reproduce

Install newest release and try to open

Expected behaviour
It should work
Actual behaviour
It didnt
System Configuration

WHAT!?

LBRY Daemon version: 0.91.1
LBRY Installation ID: ?
Operating system: Windows 10

Anything Else

Screenshots

Please see https://lbry.io/faq/startup-troubleshooting for typical startup issues.
Come chat with us on Discord - https://chat.lbry.io in #help if you need further assistance.


updated oculus hand controller data provider

Continued from https://github.com/XRTK/XRTK-Core/pull/476

Can you elaborate those issues a bit? What kind of issues do you expect?

For one, we would have two sets of data providers polling the Oculus API, unclear whether that would have a direct impact.
But I've held off adding the hands nodes to the current provider. But when I did the copy approach, it causes loads of issues with unrecognised controllers (as there were no hands)
As the Oculus API is a singular dataset, my feeling is that the data provider updates should be incorporated in to the current provider, especially as only HANDS or Controllers can be active at the same time, which is managed automatically by the API at this time.

Exactly. The Oculus API manages the actual input sources. As soon as a controller is detected no more hand is reported to be avilable and vice versa. So no issues there. I can understand you want one data provider because they both share the "Oculus" in the name basically. I'll see if it's possible, the hand data providers do have some specifcs to them.


List Links to current vulnerabilities

If the user has a vulnerable version of Ruby, also show links to CVEs to that they can assess the danger.

Closing since ruby_dep 1.4.x can no longer be installed on a version with known vulnerabilities.


Incompatibility with Ubuntu 22.04 due to Wayland

Hi there!
I recently upgraded from Ubuntu 20.04 to Ubuntu 22.04 and to my grand dismay, this program (xsct) no longer worked. I did some digging and found out that it is because the newer versions of Ubuntu switched to Wayland as their windowing system, and this script doesn't play well with that.
A workaround is just switching Ubuntu to use Xorg, as per this guide.
I've read that there is a compatibility layer called Xwayland. Would it be a lot of work to get this script to work under that compatibility layer? (Sorry I don't know much about these systems). This is such a neat program, and super practical for changing the color temperature and brightness of my external monitors.

Hi @j-silv .
Use https://github.com/jonls/redshift. Xsct for only X11.

Closing as Wayland support is not planned for this tool.


claudia update doesn’t update the api resource

Please use GitHub issues only to report bugs. To ask a general question or request assistance/support, please use the Claudia.js Gitter Chat instead.
To report a bug or a problem, please fill in the sections below. The more you provide, the better we'll be able to help.
I have

api.post('/auth/facebook/albums', (request) => {
  FB.setAccessToken(request.body.access_token);
  console.log(request.body);
  return new Promise((resolve, reject) => {
    FB.api(
      '/me/albums',
      (response) => {
        if (response.error) {
          reject(response.error);
          return;
        }
        resolve(response);
      },
    );
  });
}, { success: { contentType: 'application/json' } });

Then later on I realised the endpoint is not correct, I changed it to
api.post('/facebook/albums', (request) => {
  FB.setAccessToken(request.body.access_token);
  console.log(request.body);
  return new Promise((resolve, reject) => {
    FB.api(
      '/me/albums',
      (response) => {
        if (response.error) {
          reject(response.error);
          return;
        }
        resolve(response);
      },
    );
  });
}, { success: { contentType: 'application/json' } });

And run claudia update. No error from the terminal. The endpoint doesn't change. Destroy and recreate fixed the problem.

Expected behaviour:

claudia update should update the api resource endpoint to the new one.

What actually happens:

claudia update doesn't update the api resource endpoint to the new one. Changing the request function sometimes doesn't update either. Looks like the app is in a unexpected state.

Link to a minimal, executable project that demonstrates the problem:

Steps to install the project:

Steps to reproduce the problem:

It should be easy to create a simple endpoint from one of the samples. Then change the endpoint.

Closing this. Maybe a problem with our own codebase.


go migrations

Seems like it's not possible to change my review after the fact. None the less. It looks good!

@gronnbeck You should be able to do approve changes where it says you rejected them. Found it myself yesterday.

I'm not able to figure it out. You need to show me.


Investigate if we can make our Docker setup more flexible

Description

One way to achieve this is to pass the feature set as an ARG to our Dockerfile and call docker compose build --build-arg <arg_name=arg_value>. This way we could also get rid of Dockerfile.debug (creating a new file for all the combinations of possible arguments to cargo build is unmaintainable anyway). However, more thinking needs to go into this to allow for those non-default Chronicle setups (without time-series collection, without inx, etc)

I found a possible solution, but it's ... complicated, and since our current setup works well enough ... I think it's best to not further pursue for now and maybe come back later to it, once we really feel we need more flexibilty.


Improve interpretation of Test262 tests

Coverage remained the same at 100.0% when pulling 920fb110d4c51012f3659be506d3b6dbf2afd947 on jugglinmike:test262-improve-interpretation into 02f20b23bafb1aacbde41bfcdafe23e419c955d3 on jshint:master.

Coverage remained the same at 100.0% when pulling 920fb110d4c51012f3659be506d3b6dbf2afd947 on jugglinmike:test262-improve-interpretation into 02f20b23bafb1aacbde41bfcdafe23e419c955d3 on jshint:master.

Agreed :)


Add Production CDATA API Endpoint

In preparation for production release, we need to add the production CDATA API Endpoint to the production environment.
We need to ensure that the method used allows for dev and test namespaces to use the dev and/or test endpoints, and that backups, migrations, etc. will not be negatively impacted.
@kkapoor-fresh or @iman-jamali-fw Can you please comment on a solution / options? I'm not yet sure if this would be better done in code, configuration or built into the pipeline.

Hi, confirming it is already in production.


merge from konsum-frontend-svelte

package.json

chore(deps): add ^14.8.5 remove ^14.8.2 (devDependencies.stylelint)

:tada: This PR is included in version 1.31.18 :tada:
The release is available on:

npm package (@latest dist-tag)
v1.31.18
GitHub release

Your semantic-release bot :package::rocket:


Simplify selection system and rename copy keybind

Coincidentally just finished it.
All functionality intact (nothing major was changed after all)
Turned out cleaner than I expected TBH. Please drop the second commit if you feel retaining keybind backwards compatibility is important, I just made it for my own satisfaction.

So closing this just to get this off my daily screen for now.
Also Dylan if you're still reading this, I hope you're doing okay buddy, wherever you are. Take care and stay safe :)


Clean up old aggregation functions (Step 2)

Move all server side code to use new aggregation functions.

Rewrite the IntermediateResultsBlock to use new aggregation functions.
Rewrite the Aggregation Operator and Combine Operator

Current coverage is 65.21% (diff: 75.71%)

No coverage report found for master at 24a4d40.

Powered by Codecov. Last update 24a4d40...14bc0f4


Rodent XML Actuators type

Hi,
According to rodent.py under locomotion modules, the way ones want to switch from positional actuator to torque actuator is through modifying the actuator attributes. Why is changing that variable changes the actuator types? Is there any documentation regarding this changes? Any suggestion or direction is greatly appreciated!
Scott

https://mujoco.readthedocs.io/en/latest/computation/index.html#actuation-model
https://mujoco.readthedocs.io/en/latest/XMLreference.html#actuator-position


[databroker] Update dependencies to support RISC-V

Cargo.lock needs to be regenerated as my Pr also touched cargo.lock

It builds for me, I was so far not b able to run it on milkv. But issue may be that milkv has an musl based "buildroot" system image, and the cross tooling could only build dynamically linked glibc version. I did copy all the required .so, but then I got this error
RUST_BACKTRACE=1 ./databroker
thread 'main' panicked at kuksa_databroker/databroker/src/[main.rs:446](http://main.rs:446/):7:
Failed building the Runtime: Os { code: 38, kind: Unsupported, message: "Function not implemented" }
stack backtrace:
note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace.
[root@milkv-duo]~#

(that is basically the last line of main.rs, so something already fails at early strtup I would say). On that platform (small root fs, less than 30MiB avaialable RAM :-P ) I could not run the debug build.
Anyway, I feel this might be more related to this special platform than the build. Will try on a Vision Five 2 once I find the time (that is far more powerful, and also has a more vanilla debian/ubuntu OS)

Did test on a VisionFive 2 (https://www.starfivetech.com/en/site/boards with some debian-ish OS), and it works. Started databroker on the target, and could connect dbcfeeder and client with subscription form another host. Seems to work. As this does update quite a bit of dependencies, let's merge this after next minor release is out. In case the dependecies updates breaks some minor things somewhere, we'll have some time to notice.


docs/features/NODES.md - Fix image links

What type of PR is this? (check all applicable)

[ ] Refactor
[ ] Feature
[ ] Bug Fix
[ ] Optimization
[x] Documentation Update
[ ] Community Node Submission

Have you discussed this change with the InvokeAI team?

[x] Yes
[ ] No, because:

Have you updated all relevant documentation?

[x] Yes
[ ] No

Description
Updated broken image links in NODES.md

Thanks for updating these!
For the future, you can link images in the docs with the relative path like this: ![image](assests/sub_folder/screenshot.png) (assuming the images have been added to the assets/sub_folder folder)

@lstein Done. I had written the documentation originally, and wasn't aware of the process the assets would go through after being committed. Should be all good now!


Examples of data process

Hi, thanks for giving instructions about the data process in #1 . However, I'm not familiar with AMR, could you give a simple real example of step 2 and step 6? For example, an origin amr graph and the processed amr graph with dummy node and speaker edges? I don't know how the format looks like.

Thanks for your suggestion, we will upload some examples soon.

Hi! I wonder if there are plans to release the preprocessing examples recently. I'm interested in training response generation models on different subsets of DailyDialog. I can use the AMRs you provided, but I’m not sure what's the best way to take a subset and process them for training. In particular, I wonder if the files under daily_semi/raw were converted into the .concept, .path, .tgt, .rel files under daily_semi, and what python script is for this. Your advice will be much appreciated!

Hi,
Thanks for your interest. You can extract the subset data on the corresponding line of the preprocessed data (please refer to README for download link).

Thank you for your quick reply!


Rename Readme.py

GitHub treats Readme.py as a README file. We should rename this file.
See https://github.com/fair-software/howfairis/tree/master/howfairis

In itself, this is not enough of a reason for me to rename it. Readme.py contains a class Readme, which is a Python object representation of a README file: that all seems pretty consistent to me. What would you rename it to?

In itself, this is not enough of a reason for me to rename it. Readme.py contains a class Readme, which is a Python object representation of a README file: that all seems pretty consistent to me. What would you rename it to?


[QUERY] Will the bulk executor in the latest SDK roll back transaction if exception happen?

Hi I am reading this https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/how-to-migrate-from-bulk-executor-library-java and I want to know that is the bulk executor will roll back all the transaction if there is exception?

@loudywen - apologies for the delayed response, somehow missed this github issue.
Bulk executor will not roll back the transaction if there is an exception, it will just return the response and then you can read the response to see which record had the exception.
What you might be looking for is Transactional batch feature, which is different. You can read more about it here: https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/transactional-batch?tabs=java


Using functions that take at least one tainted argument is supposed to return a tainted result

But it currently does not. Apparently tracing does not provide this kind of control, and the only recourse is to rewrite a significant portion of the Python compilation to be able to directly edit the Python code.

Not clear if we need this at an AST level. It's better to let the arguments taint themselves and later return a tained result.


Exotic characters in branch names causes an error on create pr

Currently, exotic characters in branch names (in the case I tested specifically, it was parentheses) will cause an error on doing create pr or doing workon in the checkout step, due to the branch name being passed directly rather than between quotes.
That is, it is passed as
git checkout -b branch_name
rather than
git checkout -b "branch_name"
Suggested fix would be to provide the branch name in between quotes as above - this should not cause different edge cases to pop up, but will fix this bug.

Thanks for reporting!
Indeed, as we create branchnames out of issue titles, we might get weird characters like parenthesis. I'll release a quick fix with the quotes soon.
A better approach might be improving our 'issue title to branchname' approach, from a simple 'replace spaces with underscores' to a more complex '.. and remove all punctuation'.
Something like:
import string
import re

my_str = "My issue! ~ solves #12 \--/ :)"

chars = re.escape(string.punctuation)
new_str = print(re.sub(r'['+chars+']', '',my_str))
new_str
# 'My issue  solves 12'

from doing.utils import to_snake_case
to_snake_case(new_str)
# ''my_issue__solves_12__'

Ah yes, now that you mention it, that does actually sound like a better long-term solution! Since the current solution also means one would need to use quotations when checking out the branch manually (obviously). That seems a bit cumbersome long-term ^^; Nice!

Fixed in https://github.com/timvink/doing-cli/releases/tag/v0.6.1


Deleted deprecated facebook access scope

Deleted facebook deprecated offline access permission  from request_phase method.
https://developers.facebook.com/docs/roadmap/completed-changes/offline-access-removal

Hi @avilunin, thanks, this has been cherry-picked from master branch.


Copilot keeps evolving into less accurate less intelligent on purpose

Copilot Chat Extension Version: 1.219.0
VS Code Version: 1.91.0
OS Version: Ubuntu 22.04.4
Logs: N/A

Steps to Reproduce:

Open Copilot Chat
Start chatting expecting coherent context without recurrent hallucinations and annoying thinking

I added the on purpose part in the title because resource-saving for the sake of Msft benefit even for paid accounts is so notorious.

If you could provide some examples it would help us more accurately diagnose the problem

Multiple daily examples can be provided from a continuous stream of wrongful conversations. I could paste one for sure here (one of many that resolves the obvious prone to use direct vector embeddings rather than using attention and making actual use of the neural.

Sure a handful of example would be very helpful!


Fix #20 -- Allow multiple DTL engines.

Multiple engines should be supported as long as they all use DTL.

Is this missing anything to be merged?

Sorry, my attention has mostly been elsewhere recently.
I don't have personal experience with multiple template engines.  Right now, the code will refuse to work if you have two Django template backends, and one of them is not debug-enabled.  Is that reasonable?
Can we add some tests for the multiple-engine case?

Sorry, my attention has mostly been elsewhere recently.

No worries!

I don't have personal experience with multiple template engines.

They are useful if you want to define different set of built-ins and/or context processors for specific use cases. For example, in a specific project I use the default engine as usual and define a restricted aliased engine to allow the rendering of some user provided templates.

Right now, the code will refuse to work if you have two Django template backends, and one of them is not debug-enabled.

Unsure how we should handle this case. IMHO we shouldn't crash if template debugging is turned off even if only one engine is configured. I think raising a RuntimeWarning (using warnings.warn) for each configured backend would be more appropriate but this is something that can be done in another commit/PR. Thoughts?

Can we add some tests for the multiple-engine case?

I'll add them right now.

Added test for multiple template engines.

Thanks, this is version 1.3! :)

(btw, I made some adjustments to the tests)

Thanks Ned!


Add Contact Form

Added Contact form section
Built with CSS Flexbox
Validated the form with HTML5
Collect data using the Formspree service

Thanks @Bondok6😊


Externalized variables

moved vars to scss file that can be overwritten

Starts the work on #36

i think after 6 years we can give up....