[SUPPORT] hudi-examples-dbt not running with spark thrift server

Tips before filing an issue

Have you gone through our FAQs?

Join the mailing list to engage in conversations and get faster support at<EMAIL_ADDRESS>

If you have triaged this as a bug, then file an issue directly.

Describe the problem you faced
Tried Running https://github.com/apache/hudi/tree/master/hudi-examples/hudi-examples-dbt . Started the spark Thrift server on 10000 port and configured that in dbt. On running dbt run , error comes saying org.apache.hudi.exception.HoodieException: 'hoodie.table.name' must be set.
A clear and concise description of the problem.
To Reproduce
Steps to reproduce the behavior:

Start thrift server locally using  ./sbin/start-thriftserver.sh --jars hudi-spark-bundle_2.11-0.10.1.jar using spark-3.1.1-bin-hadoop3.2
Set up ~/.dbt/profiles.yaml
learnDbt:
outputs:
dev:
host: localhost
method: thrift
port: 10000
schema: sales
threads: 1
type: spark
target: dev

spark:
outputs:
dev:
host: localhost
method: thrift
port: 10000
schema: sales
threads: 1
type: spark
target: dev

dbt debug to test connectivity
dbt run to create models.

Expected behavior
As expected on the dbt run command the command should be able to successfully create models.
Environment Description
local cloned  repo on macOs.

Hudi version :
0.11

Spark version :
3.1.1

Hive version :

Hadoop version :

3.2

Storage (HDFS/S3/GCS..) :
Local Storage

Running on Docker? (yes/no) :
no

Additional context
Add any other context about the problem here.
Stacktrace
" Database Error
10:38:28      org.apache.hive.service.cli.HiveSQLException: Error running query: org.apache.hudi.exception.HoodieException: 'hoodie.table.name' must be set"
Add the stacktrace of the error.

hey @vingov can you take a look please?

@sambhav13 Can u provide the failed sql? BTW, currently the spark writer design is conflict with spark thrift server, especially we have the kill/cancel operation.

@minihippo  Can you elaborate a bit what do you mean by spark-submit/sql?  What I did was just clone the hudi repo and tried with dbt with spark thrift server configured as backend engine for dbt to run the hudi-examples-dbt models. I think it should not matter what way spark is being run , It could be due to some property missing but I am relying on the hudi-examples-dbt to have all that already .

@vingov : can u assist here please.
@minihippo : if you have time, can you follow up as well

@sambhav13 We confirmed it works well with spark thrift server. Tried hudi 0.12.3 , 0.13.1 and 0.14.0 and all works good.
Sorry for the delay in triaging this. Do you still face this issue. I can help if you still not able to make it run. Thanks.

@sambhav13 I'm updating the instructions in the dbt example (using spark 3.2 and hudi 0.14.0). Please check this out and let us know if it helps.
https://github.com/apache/hudi/blob/af912a3fed7270708fad935b7df55fb508cd5536/hudi-examples/hudi-examples-dbt/README.md

closing as solution provided


Update companion (patch/dto) generation

Most projects involve forms and other types of data manipulation that can greatly benefit from a partial copy of the model getting changed. Example:
class Todo {
  Todo({
    required this.title,
    required this.dueDate,
    required this.completed,
  });

  final String title;
  final DateTime dueDate;
  final bool completed;

  Todo patch(TodoPatch patch) {
    return Todo(
      title: patch.title ?? title,
      dueDate: patch.dueDate ?? dueDate,
      completed: patch.completed ?? completed,
    );
  }
}

class TodoPatch {
  TodoPatch({
    this.title,
    this.dueDate,
    this.completed,
  });

  final String? title;
  final DateTime? dueDate;
  final bool? completed;
}

In this simple scenario, you can have a form making changes on TodoPatch and committing this patch in the end (or use it for partially updating data db). To my knowledge, it's not possible right now. Other solutions would be using a delta map or alike, which isn't desirable for in domain mutations. Drift has a similar functionality in the form of Companions.

Although I understand the use-case this is not something I would add to the package, as its not part of the core purpose of the package and would further increase the api surface of it, which I try to keep as small as possible.
There is already the feature to use a delta map as shown here: https://pub.dev/documentation/dart_mappable/latest/topics/Copy-With-topic.html
I know its not ideal as its not type-safe, but atleast it should work.
Additionally I can recommend another package of mine you could use to generate the patch class yourself: super_annotations. Combining both should give you a way to implement this without needing to change dart_mappable.

Was hoping to find a way to automatically generate patch classes. This would be normal classes with all fields nullable, which could be used for updating a server record with toMap() or updating/merging into an existing mappable class. Or combining multiple patch maps into a single class


cardano-sl -> proxy connection timeouts

In a mixed cluster setup, cardano-sl nodes periodically time out, while connecting to the proxy:
machine# [   66.753075] sending MsgAnnounceBlockHeader OriginSender to NodeId <IP_ADDRESS>:5555:0 failed with TransportError ConnectTimeout "Timed out" :: SomeException
machine# [  346.770420] sending MsgAnnounceBlockHeader OriginSender to NodeId <IP_ADDRESS>:5555:0 failed with TransportError ConnectTimeout "Timed out" :: SomeException
machine# [  626.746899] sending MsgAnnounceBlockHeader OriginSender to NodeId <IP_ADDRESS>:5555:0 failed with TransportError ConnectTimeout "Timed out" :: SomeException
machine# [  906.743814] sending MsgAnnounceBlockHeader OriginSender to NodeId <IP_ADDRESS>:5555:0 failed with TransportError ConnectTimeout "Timed out" :: SomeException
machine# [ 1186.769384] sending MsgAnnounceBlockHeader OriginSender to NodeId <IP_ADDRESS>:5555:0 failed with TransportError ConnectTimeout "Timed out" :: SomeException
machine# [ 1466.776517] sending MsgAnnounceBlockHeader OriginSender to NodeId <IP_ADDRESS>:5555:0 failed with TransportError ConnectTimeout "Timed out" :: SomeException
machine# [ 1766.915519] sending MsgAnnounceBlockHeader OriginSender to NodeId <IP_ADDRESS>:5555:0 failed with TransportError ConnectTimeout "Timed out" :: SomeException
machine# [ 1967.662612] sending MsgAnnounceBlockHeader OriginSender to NodeId <IP_ADDRESS>:5555:0 failed with TransportError ConnectTimeout "Timed out" :: SomeException
machine# [ 2187.014293] sending MsgAnnounceBlockHeader OriginSender to NodeId <IP_ADDRESS>:5555:0 failed with TransportError ConnectTimeout "Timed out" :: SomeException
machine# [ 2387.656346] sending MsgAnnounceBlockHeader OriginSender to NodeId <IP_ADDRESS>:5555:0 failed with TransportError ConnectTimeout "Timed out" :: SomeException

This leads to loss of block propagation in the Legacy -> Rewrite direction, as can be seen from the block propagation chart:
deepfire@andromedae:~/cardano-node$ scripts/cluster-log.sh --limit 10 --cluster 10.1.0.%s 1 9 cluster.log headers-seen
ip\slot     0      1      2      3      4      5      6      7      8      9      10
<IP_ADDRESS>    26.0   32.7   52.2   72.7   92.6   ---    132.3  152.7  172.5  ---    ---    232.5  ---    272.3
<IP_ADDRESS>    25.7   32.7   51.8   72.1   92.5   111.8  132.5  152.3  172.5  191.8
<IP_ADDRESS>    25.0   32.9   52.1   72.9   92.3   ---    132.6  152.5  172.6  ---    ---    232.3  ---    272.7
<IP_ADDRESS>    24.4   32.5   52.3   72.6   92.5   ---    132.5  152.5  172.3  ---    ---    232.6  ---    272.5
<IP_ADDRESS>    24.5   33.6   50.6   70.8   273.9  110.7  273.9  273.9  273.9  190.7
<IP_ADDRESS>    23.9   33.7   50.5   70.4   273.8  110.7  273.8  273.8  273.8  190.6
<IP_ADDRESS>    23.9   33.6   50.6   70.6   273.9  110.6  273.9  273.9  273.9  190.6

<IP_ADDRESS>    23.5   34.4   51.7   71.9   ---    111.7  ---    ---    ---    191.7  212.7  ---    251.6  276.0  295.3

Looking at tcpdump -- logs filtered by egrep 'Flags (\[S\]|\[S.\]|\[F\.)' cluster.log, we can gleam the following sequence:
machine# [   53.428666] proxy-tcpdump[944]: 01:47:02.648093 IP proxy.cardano.personal-agent > proxy.cardano.45844: Flags [F.], seq 824, ack 2059, win 381, options [nop,nop,TS val 262494091 ecr 262494090], length 0
machine# [   53.454622] proxy-tcpdump[944]: 01:47:21.457368 IP proxy.cardano.45856 > proxy.cardano.personal-agent: Flags [S], seq<PHONE_NUMBER>, win 43690, options [mss 65495,sackOK,TS val 262512900 ecr 0,nop,wscale 7], length 0
machine# [  273.523524] proxy-tcpdump[944]: 01:47:21.457399 IP proxy.cardano.personal-agent > proxy.cardano.45856: Flags [S.], seq<PHONE_NUMBER>, ack<PHONE_NUMBER>, win 43690, options [mss 65495,sackOK,TS val 262512900 ecr 262512900,nop,wscale 7], length 0
machine# [  273.581701] proxy-tcpdump[944]: 01:47:21.468660 IP proxy.cardano.personal-agent > proxy.cardano.45856: Flags [F.], seq 5, ack 32, win 342, options [nop,nop,TS val 262512911 ecr 262512911], length 0

at 53.428666 an existing live connection is closed
at 53.454622 another one is attempted, but never ever sees a reply TCP packet
at 273.523524 another attempt occurs, and sees a reply -- that correlates with the slot 4 propagation times on the Rewrite side

Ok, an interesting thing to note:

The Legacy node never retries its initial TCP SYN packet.

This gives rise to hypothesis:

The proxy isn't too quick to re-establish its listening port,
The TCP RST packet isn't sent by the proxy for some reason,
The Legacy node is configured not to retry the TCP SYN.

Ok, after eliminating VDE from the picture, and re-seating everything over plain old loopback:

The "missing" packets are no longer missing -- all connections are properly initiated and closed at the TCP level.  I guess the routing was just non-deterministic with all those interfaces.
The connection timeout exception is still there.

So the exception is either:

https://github.com/avieth/network-transport-tcp/blob/master/src/Network/Transport/TCP.hs#L1583 or
https://github.com/avieth/network-transport-tcp/blob/master/src/Network/Transport/TCP.hs#L1686

Ok, after some explanations by @avieth -- and more added tracing -- it looks like getAddrInfo is the culprit:
https://github.com/deepfire/network-transport-tcp/blob/7243e3ceff5e47b86c454238ecdbd681682268f2/src/Network/Transport/TCP.hs#L2051

Turned out it wasn't -- as made clear by a log obtained with https://github.com/deepfire/network-transport-tcp/blob/f99a715cdfe63e0bb59818840f60af75ce8c8290/src/Network/Transport/TCP.hs#L2081 -- the socketToEndPoint function progresses much further:
achine# [   92.814698] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: -1: setupRemoteEndPoint -> socketToEndpoint
machine# [   92.816647] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: -1: setupRemoteEndPoint -> socketToEndpoint
machine# [   92.818643] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: -1: setupRemoteEndPoint -> socketToEndpoint
machine# [   92.850125] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: 3: <- setSocketOption -> connect "<IP_ADDRESS>":"3001"
machine# [   92.852109] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: 3: <- setSocketOption -> connect "<IP_ADDRESS>":"3004"
machine# [   92.854131] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: 3: <- setSocketOption -> connect "<IP_ADDRESS>":"5555"
machine# [   92.862492] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: 4: <- connect -> sendMany "<IP_ADDRESS>":"3001"
machine# [   92.864423] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: 4: <- connect -> sendMany "<IP_ADDRESS>":"3004"
machine# [   92.868066] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: 4: <- connect -> sendMany "<IP_ADDRESS>":"5555"
machine# [   93.177586] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: 5: <- sendMany -> recvWord32 "<IP_ADDRESS>":"3001"
machine# [   93.179541] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: 5: <- sendMany -> recvWord32 "<IP_ADDRESS>":"3004"
machine# [   93.183533] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: 5: <- sendMany -> recvWord32 "<IP_ADDRESS>":"5555"
machine# [   93.188808] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: 6: <- recvWord32 "<IP_ADDRESS>":"5555"
machine# [   93.190606] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: [cardano-sl.node:Debug:ThreadId 139] [2001-09-09 01:48:02.27 UTC] 7: <- socketToEndpoint <IP_ADDRESS>:5555:0
machine# [   93.447877] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: 6: <- recvWord32 "<IP_ADDRESS>":"3001"
machine# [   93.449732] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: [cardano-sl.node:Debug:ThreadId 139] [2001-09-09 01:48:02.28 UTC] Waiting on the block queue or recovery header var7: <- socketToEndpoint <IP_ADDRESS>:3001:0
machine# [   93.455783] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: 6: <- recvWord32 "<IP_ADDRESS>":"3004"
machine# [   93.457690] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: [cardano-sl.diffusion.outboundqueue.c-a-2:Debug:ThreadId 928] [2001-09-09 01:48:02.28 UTC] sending MsgAnnounceBlockHeader OriginSender to NodeId <IP_ADDRESS>:3004:07: <- socketToEndpoint <IP_ADDRESS>:3004:0
machine# [  107.469733] v74fi7n4m5ykqvim9k9a8drmys4y3bh7-unit-script-cardano-node-legacy_-start[863]: [cardano-sl.diffusion.outboundqueue.c-a-2:Warning:ThreadId 932] [2001-09-09 01:48:17.28 UTC] sending MsgAnnounceBlockHeader OriginSender to NodeId <IP_ADDRESS>:5555:0 failed with TransportError ConnectTimeout "findRemoteEndPoint:  timed out" :: SomeException

Reproduction details:

https://github.com/input-output-hk/cardano-node/tree/serge/mainnet-ci -- commit 0714765c31b506956feb0ebff2598cdef36b29cb
cardano-sl checked out beside cardano-node, at commit d5911d21eb2ce0d1e619c0321e7de630d56258b6 (tip of https://github.com/input-output-hk/cardano-sl/tree/serge/trace-network-transport-tcp)
cardano-byron-proxy checked out beside cardano-node, at commit a25757473612b0d4cb8fd23077ef51bd3b4a8215 (tip of https://github.com/input-output-hk/cardano-byron-proxy/tree/avieth/protocol_version)
cluster started from the cardano-node checkout with ./scripts/cluster-test.sh --cls -- which puts the logs in a new log file for each run (symlinked to cluster.log, for the latest run)
a certain explanation about the setup can be obtained from https://github.com/input-output-hk/cardano-node/blob/serge/mainnet-ci/scripts/README.org#ci-cluster

The topology used on the Byron side is: https://github.com/input-output-hk/cardano-node/blob/serge/mainnet-ci/configuration/mainnet-ci/topology-mainnet-ci.yaml

I believe I've figured out why this is happening. How best to fix it is up for debate.
Spoiler: it's caused by the fact that multiple endpoint addresses can identify the same endpoint (because of DNS names). One way to fix it is to remove the --address CLI argument from cardano-byron-proxy.
The SL node c-a-2 and the Byron proxy proxy form the single link between the Shelley and Byron clusters. i.e. the only Byron node which communicates with proxy is c-a-2. We noticed that a network-transport-tcp timeout would occur sometimes. On closer inspection, it would occur only at c-a-2 (the initiator) when contacting proxy. And further, it would occur only when proxy was also contacting c-a-2 around that same time.
Two notes about the design of network-transport-tcp:

Each addressable endpoint determines its own endpoint address, which is gives to its peers when it connects. This address is used as a key in local state throughout the protocol to identify the peer.  For security reasons, the peers will check that this address matches the socket address given by the OS (unless you turn it off @deepfire which I don't recommend :) ).
There is at most one TCP socket between any two endpoints. When two endpoints connect to one-another concurrently, such that each one initiates its socket before the other one knows about it, the "crossed connection" protocol is engaged. It ensures that only one of these connections remains active, and the other goes down. The rule to determine which one goes down is: the socket created by the endpoint with the smaller endpoint address (under ByteString order). That endpoint should send a special "crossed" message on its socket and then close it. The other end will wait for that message to come.

When c-a-2 and proxy each get a new block around the same time, they will announce its header to one-another. Since there are no long-running network-transport-tcp lightweight connections (like a subscription) between these two, this brings up new heavyweight connections (TCP sockets) which can and sometimes do become crossed. In normal network-transport-tcp operation this is no problem: the protocol will work out which socket should stay and which should go.
However in this case we have proxy claiming proxy.cardano:5555:0 as its endpoint address, c-a-2 claiming <IP_ADDRESS>:3002, and c-a-2 connecting not to proxy.cardano:5555:0 but to the numeric address it names <IP_ADDRESS>:5555:0!
proxy will make the connection no problem. It will create its own socket, and when it sees the crossed connection from <IP_ADDRESS>:3002:0, it will check that indeed "proxy.cardano:5555:0" > "<IP_ADDRESS>:3002:0" and therefore will not respond on that socket (it will use the one that it created earlier).
On the other hand, c-a-2 does not connect to proxy.cardano:5555:0, but rather to its true identity <IP_ADDRESS>:5555:0! Crucially: it does not judge this to be a crossed connection, because it doesn't know that these strings identify the same endpoint. And so it times out waiting for a response, because proxy throws the socket away by the crossed connection rule.

@deepfire I recommend never disabling the peer host check. Instead, use this revision of network-transport-tcp, which binds connecting sockets to <IPv4host>:0. 46f2942423d9ad3c81040565a9e9d5b9e08ddcc4

The issue was happily resolved.


Decide which version of Node.js to target

As noted in #467 the code currently doesn't work because we are using template strings which isn't available in Node.js < 4 (I don't know about iojs). On the other hand, there are a lot of features in Node 4.x that we aren't taking advantage of.
I think that we should take a decision on which version to target, and then use all the new features available on that version.
The largest benefit would be fat-arrow functions which would eliminate the need for self = this sprinkled all over the code. It would also eliminate most uses of .bind(...).
Me and @Student007 had a small discussion about it here: https://github.com/tessel/t2-cli/pull/466#discussion_r45955570
(note that this is the version of Node that the CLI should run on, it has nothing to do with code on the actual tessel)

Node.js 4.2.x should be the minimum, as I said in the other thread: managing multiple versions is trivial with nvm.

As said in #467, 0.12 is only in LTS mode until the end of the year, which is very soon. Me and @rwaldron therefor think that we should target Node 4.x and newer.
I think that we should go thru the codebase with the following fixes:

[ ] Add 'use_strict' at the top of files (this is needed for next step)
[ ] Switch all var to const and let
[ ] Stop using self = this and .bind(...) in favour of =>
[ ] Use template literals in favour of +-ing together strings
[ ] Use class and extend keyword for making classes (instead of the cumbersome function, prototype = Object.create, prototype.x = _)
[ ] Use the builtin Promise (maybe we already are?)

I would love to help out with this!

@johnnyman727 @LinusU @rwaldron
I belief the impact would be very big so it is reasonable to think about it is necessary to do this with a major version number (s0 from 0.X.x to 1.0.0).
I think we should prepare this and teach each other during next weeks (I mean it could be a really bad idea to rewrite contributed code without teaching the original or involved authors).
@Frijol Doing this changes is also a project risk factor because the number of potential new contributors will go down (maybe). The answer to this risk is to make it a chance - maybe it would be a good pitch for "this week in Tessel".
@LinusU Maybe it helps to write a very short code snipped which will make it reasonable for ES5 coders. I mean something like this (for example):
[ ] switch var to const and let  (this is good for clean use of block scoping)
(pattern: [task] - ([benefit] link to example))
maybe @flaki would be also an expert could help to do this - he is a good author I think.
I don't know where and who - but I remember about a discussion why prototype is still better than class (I have no time to review this and argument at this moment) - I mean this is because of deeper inheritance ?! Maybe someone could make a es6fiddle about to show it ? :smile:
So long my two cents ...

I belief the impact would be very big so it is reasonable to think about it is necessary to do this with a major version number (s0 from 0.X.x to 1.0.0).

I really don't think that. It should only be a patch release since we aren't changing any of the visible api. Also, as a user I would be very confused by a sudden major release when seemingly nothing has been changed.

I think we should prepare this and teach each other during next weeks (I mean it could be a really bad idea to rewrite contributed code without teaching the original or involved authors).

We're not really rewriting that much code though, these are very small changes which mostly is just "sugar", it makes the code look nicer.

Doing this changes is also a project risk factor because the number of potential new contributors will go down (maybe). The answer to this risk is to make it a chance - maybe it would be a good pitch for "this week in Tessel".

I really don't think that this is true at all. ES6 is not a new language, and we'll only be using a subset of it. There really only is 4 new features, and it's just sugar. I actually don't think that anyone at all would be scared of contributing just because of this.

Maybe it helps to write a very short code snipped which will make it reasonable for ES5 coders. I mean something like this (for example)

That could be a very good idea, we should also see what's already available :+1:

I don't know where and who - but I remember about a discussion why prototype is still better than class (I have no time to review this and argument at this moment) - I mean this is because of deeper inheritance ?! Maybe someone could make a es6fiddle about to show it ? :smile:

I haven't heard this but the prototype will still be used. As I said, this is just syntactic sugar that makes it easier to read and easier to write.

They way I see it there are two approaches, we can either 1) update the files as we make other changes, or 2) I'll take a day (which is night for you guys) to just churn thru every file and update it.

Pre-1.0.0 isn't bound to any particular semver rules, as specified by #4 of semver ;)

Also, the changes we make shouldn't break the code, since they should absolutely abide by the existing tests

I really don't think that this is true at all. ES6 is not a new language [...]

It feels like that for a lot people are not familiar with the discussions lead to the new feature. And this is the majority of people. But we could sell this as a chance to train ES6 by contributing.
That could be a very good idea, we should also see what's already available :+1:

:+1: but it should be simplified - most of the tutorials and snippets I know are either to large or incomplete. I remember there was a ES6 multiple choice test somewhere.
Also, the changes we make shouldn't break the code,
since they should absolutely abide by the existing tests

:+1:
My vote by the condition we use it to teach the web similar I suggested within a this week in Tessel ...

As said in #467, 0.12 is only in LTS mode until the end of the year

0.12.x is in LTS until April of 2017 but I believe targeting >=4.x is perfectly reasonable.

@dtex Not according to their latest blogpost

According to the new LTS plan for the Node.js project, v0.12 will continue as LTS until the end of 2015 at which point it will switch to Maintenance and continue as such until the end of 2016 when support will cease.

Well my 2 cents is that we should most definitely aim to ship the official Tessel 2 builds with the latest LTS versions of node (that probably means 4.2 LTS  for the initial release), maybe on the long term we could provide a beta/nightly channel which might include more recent versions of the node runtime.

@LinusU is the expected outcome of this issue that we mark a specific version in the engine field of the package.json?

@johnnyman727 That and going thru the code to take advantage of the newer features that this brings us. As outlined in this comment: https://github.com/tessel/t2-cli/issues/470#issuecomment-160171309
I'll add a checklist to the actual issue now :)

Consensus is 4.2.1—thanks everyone!


Shift register design which is not multiple of 8 register is not working

Tool reports error for shift register design which has registers not multiple of 8. Attached is a shift register design with 12 flops (12 registers). The tool reports the following error:
Error 1:
Type: Packing
File: /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/vtr-optimized_1616063160078/work/vpr/src/pack/cluster.cpp
Line: 2337
Message: Can not find any logic block that can implement molecule.
Pattern shiftchain shift_sh_dff_D
Net 'shift_out' is impossible to route within proposed clb cluster
Failed route at end, repack cluster trying detailed routing at each stage.
Net 'shift_out' is impossible to route within proposed clb cluster
Routing was impossible!
Net 'shift_out' is impossible to route within proposed clb cluster
Incr Slack updates 1 in 7.275e-06 sec
Full Max Req/Worst Slack updates 1 in 2.924e-06 sec
Incr Max Req/Worst Slack updates 0 in 0 sec
Incr Criticality updates 0 in 0 sec
Full Criticality updates 1 in 1.1445e-05 sec
Packing took 0.02 seconds (max_rss 10.1 MiB, delta_rss +1.2 MiB)
The entire flow of VPR took 0.05 seconds (max_rss 10.1 MiB)
shft_reg12.zip

It looks like this is an issue with VPR chain molecule packing. The sh_dff cell has only one output port that is used for chaining hence VPR cannot route it out of a cluster in a mid-chain position. There is also no possibility to begin a chain in the middle of a physical 8-long chain.
To solve that probably a second virtual output port needs to be added to sh_dff. Then the repacker may take care of mapping it back to the physical flip-flop output.

This PR adds a connection to the VPR architecture that allows VPR to utilize chains that are not a multiple of 8: https://github.com/QuickLogic-Corp/OpenFPGA-QLF_K4N8/pull/211

@kkumar23 The change in architecture merged with the PR from the previous comment should have fixed the issue. From now on shift regs that are not a multiple of 8 should work correctly.

@rakeshm75 : Can you please validate this and close?

I've created a test with a shift register of length 12. Please take a look: https://github.com/QuickLogic-Corp/symbiflow-arch-defs/pull/416

Issue resolved.


"Stationery Pad" Finder setting is not followed by Quicksilver

Finder has a setting in the "Get Info" window of a document that can set a document as a "Stationery pad", basically a template file. With this setting, every time the document is opened, it's copied and the copy is opened. Quicksilver does not follow this behavior, and always opens the template document itself.
Steps to reproduce the behavior:

Go to a document in Finder.
Open "Get Info" window for the document.
Make sure the "Stationery pad" checkbox is checked.
Open the document from Finder to see expected behavior.
Open the document using Quicksilver to see erroneous behavior.

Expected behavior
A copy of the document should be created and that is what should be opened (I'm not sure whether Finder handles this normally, or instructs the opening application to make a new copy).

macOS 10.14.5
Quicksilver 1.6.0

Interesting. I never knew about that feature. (Quicksilver has a similar “Templates” feature, if you want to try that, but that’s beside the point.)
What happens if you run open Cover\ Letter\ Template in Terminal? If that fails, what about open -a Finder Cover\ Letter\ Template?

Good question! Just tried it out. open just directly opens the document, but open -a Finder works correctly.
Admittedly, it's an extremely low priority thing. There's probably just about nobody who actually uses the stationery pad feature. And I tested it opening the document in Pages for iOS too, and it also just straight up opens it, rather than making a copy. Most likely the stationery pad feature is just vestigial and forgotten.

This feature is meant to apply for all types of documents, but for iWork apps specifically, they actually made a feature inside the app for adding a template to the template chooser.

FWIW I'm pretty sure that Stationary is System 7-era stuff, even maybe 6 — memory wasn't that good at the time 👶. System 7 confirmed, thanks for the memory trip, sorry for the noise.

This appears to be a finder-specific function. It's not explicit that the Open command in Quicksilver should open things via Finder (for example, other File browsers are possible).
As such, the default behaviour of 'Open' shouldn't be changed, but you can get this to work by using the 'open with...' 'Finder' option:

If you were to make the 'Open With...' action the default for files, then you could make this explicitly happen. Or, if you have a specific set of template files you know you want to open with Finder, then you could just manually use 'open with...' 'Finder' for those files.
It's a great tip - I didn't know it existed! But we don't want to change the default 'Open' action just for a Finder feature. I'll mark this issue as "Won't fix" for now.
Thanks!


Implement scale of border values

This branch does two things:

Allows zero-values for border and border-radius utilities (e.g.u-border-bottom--0)
Generates new utility classes for the a scale of border values

out of curiosity, what is the purpose of a zero-value for border-width?

@paddyduke So we can remove borders from elements using classes like u-border-top--0

This looks good to me. Review pass.


No Files Found

Hi I am facing an issue where it states no files found, even though I have added the two files for 14.5. I show them in the video. I am currently on iOS 14.6. Is this possibly related to the fact I am sideloading with AppDb. Thanks! Here is the link: https://imgur.com/a/IN8UF0c

You didn’t add any pairings. Please read the instructions again.


Flaky IIS Test: CompressionTests+OutOfProcessV1.PassesThroughCompression

Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests.CompressionTests+OutOfProcessV1.PassesThroughCompression flaked out on AzP
[xUnit.net 00:16:55.99]     Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests.CompressionTests+OutOfProcessV1.PassesThroughCompression [FAIL]
  Failed   Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests.CompressionTests+OutOfProcessV1.PassesThroughCompression
  Error Message:
   System.InvalidOperationException : Sequence contains no elements
  Stack Trace:
     at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
     at Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests.CompressionTests.PassesThroughCompression()
  --- End of stack trace from previous location where exception was thrown ---
  Standard Output Messages:
   | [0.005s] TestLifetime Information: Starting test PassesThroughCompression at 2019-03-06T06:55:00
   | [7.669s] TestLifetime Information: Finished test PassesThroughCompression in 7.6639403s

This is on 2.2 correct?

Yesh

Need to review how to skip this base-class test only in a single subclass. Also needs to be done on release/2.2


Only capture utm and referrer once per session

We just need to move the capture referrer / utm logic into the new session block inside init. Existing tests fail until I manually incremented the clock to force a new session. Added additional tests to verify the once-per-session behavior.

LGTM


Problems with oracle jdk

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Checked that your issue isn't already filled: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aidealista
Checked that there is not already provided the described functionality

Description
role fails with  java_implementation: "oraclejdk"
Steps to Reproduce

set  java_implementation: "oraclejdk"
Run

Expected behavior: Role run ok
Actual behavior: Role fails
Reproduces how often: Always
Versions
3.0.3
Additional Information

Fixed in 3.0.1


Q: DefaultAzureCredential with Key vault needs additionally_allowed_tenants?

If I'm connecting to Azure Storage, I can use a DefaultAzureCredential() but that doesn't work with Key vault, in which I can only get a secret if I configure the DefaultAzureCredential with tenants.
azure_credential = DefaultAzureCredential(additionally_allowed_tenants=['*'])

How should I know I need tenants when I'm reading the reference docs or quickstarts? I don't see it in the quickstart but I need it when getting a secret from an Azure HTTP trigger function while running on my local computer.
@scottaddie fyi

I believe https://learn.microsoft.com/en-us/azure/key-vault/secrets/quick-create-python?tabs=azure-powershell%2Cazure-cli#create-the-sample-code is out of date. In our latest code (which will be released this week and it will be a GA release), users don't need to specify additionally_allowed_tenants argument in DAC if they use cli credential which is used in the quickstart.

@xiangyan99 When do users need to specify additionally_allowed_tenants? Can you provide a link to documentation?

We have the doc to describe the scenario in https://aka.ms/azsdk/blog/multi-tenant-guidance.


Add sensors to informationservice

Add sensors when available to informationservice:
https://github.com/giampaolo/psutil/blob/master/scripts/sensors.py
add cyclic output for

temps
battery

is released in 4.1.0


Update TabsTab.md

Fix require

What kind of change does this PR introduce?

Does this PR introduce a breaking change?

Deploy preview for reakit ready!
Built with commit ba031fe7ad041ba321a1b4265b0c75d5d7527783
https://deploy-preview-275--reakit.netlify.com

Codecov Report

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

@@           Coverage Diff           @@
##           master     #275   +/-   ##
=======================================
  Coverage   67.18%   67.18%
=======================================
  Files          85       85
  Lines         649      649
  Branches      149      149
=======================================
  Hits          436      436
  Misses        213      213

Continue to review full report at Codecov.

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

Nice catch!


Fix code scanning alert no. 9: Use of a broken or risky cryptographic algorithm

Fixes https://github.com/apache/tsfile/security/code-scanning/9
To fix the problem, we need to replace the use of the MD5 algorithm with a stronger, modern cryptographic algorithm. The best way to do this without changing existing functionality is to use SHA-256, which is widely regarded as secure.

General fix: Replace instances of MessageDigest.getInstance("MD5") with MessageDigest.getInstance("SHA-256").
Detailed fix: Update the getNormalKeyStr and getEncryptParameter methods to use SHA-256 instead of MD5.
Specific changes: Modify lines 124 and 157 in the EncryptUtils.java file.
Required imports: No new imports are needed as MessageDigest is already imported.

Suggested fixes powered by Copilot Autofix. Review carefully before merging.

Codecov Report
Attention: Patch coverage is 50.00000% with 1 line in your changes missing coverage. Please review.

Project coverage is 63.63%. Comparing base (6c4f911) to head (a2e3e0f).

Files with missing lines
Patch %
Lines

...n/java/org/apache/tsfile/encrypt/EncryptUtils.java
50.00%
1 Missing :warning:

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #290   +/-   ##
========================================
  Coverage    63.63%   63.63%
========================================
  Files          501      501
  Lines        31787    31787
  Branches      4110     4110
========================================
  Hits         20228    20228
  Misses       11082    11082
  Partials       477      477

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


rework on the fog package

Codecov Report

Merging #44 into master will increase coverage by 0.2%.
The diff coverage is 0%.

@@             Coverage Diff             @@
##             master      #44     +/-   ##
===========================================
+ Coverage     40.77%   40.98%   +0.2%
+ Complexity      182      179      -3
===========================================
  Files            38       37      -1
  Lines           824      815      -9
  Branches         98      102      +4
===========================================
- Hits            336      334      -2
+ Misses          464      460      -4
+ Partials         24       21      -3

Impacted Files
Coverage Δ
Complexity Δ

src/main/kotlin/emufog/fog/FogComparator.kt
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

src/main/kotlin/emufog/fog/FogNodeClassifier.kt
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

src/main/kotlin/emufog/fog/FogWorker.kt
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

src/main/kotlin/emufog/fog/BaseNode.kt
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

src/main/kotlin/emufog/fog/StartingNode.kt
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

src/main/kotlin/emufog/fog/CostComparator.kt
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Multi-core support question

Hi guys,
Quick question. Simply by adding the meteorhacks:cluster package and setting the env var CLUSTER_WORKERS_COUNT to auto, does this make any difference for a Meteor app running a single instance on a single host? Does it enable multi-core support and/or improve performance? Or is the cluster package only useful for multiple instances?

This is useful if you are running on a multi-core machine.
Running on a single core machine, doesn't make any different.
On Wed, May 27, 2015 at 7:35 AM Sam<EMAIL_ADDRESS>wrote:

Hi guys,
Quick question. Simply by adding the meteorhacks:cluster package and
setting the env var CLUSTER_WORKERS_COUNT to auto, does this make any
difference for a Meteor app running a single instance on a single host?
Does it enable multi-core support and/or improve performance? Or is the
cluster package only useful for multiple instances?
—
Reply to this email directly or view it on GitHub
https://github.com/meteorhacks/cluster/issues/58.

Ok, so even if I'm using a single instance/single server, it still helps?

Nope. You need to have a multi-core server.
On Wed, May 27, 2015 at 9:07 PM Sam<EMAIL_ADDRESS>wrote:

Ok, so even if I'm using a single instance/single server, it still helps?
—
Reply to this email directly or view it on GitHub
https://github.com/meteorhacks/cluster/issues/58#issuecomment-105964122.

I think we're having a misunderstanding.  What I'm asking is:
If I have a multi-core server, but running only a single instance of Meteor & Mongo (no cluster), will using the cluster package and setting CLUSTER_WORKERS_COUNT to auto still help performance? Or do I need to be running multiple Meteor/Mongo instances?

Ah, now I got it.
Yes it is. You only need to run only one instance.
Behind the scene, cluster will spawn new instances and do the necessary
communication between them.
On Wed, May 27, 2015 at 9:10 PM Sam<EMAIL_ADDRESS>wrote:

I think we're having a misunderstanding. What I'm asking is:
If I have a multi-core server, but running only a single instance of
Meteor & Mongo (no cluster), will using the cluster package and setting
CLUSTER_WORKERS_COUNT to auto still help performance? Or do I need to be
running multiple Meteor/Mongo instances?
—
Reply to this email directly or view it on GitHub
https://github.com/meteorhacks/cluster/issues/58#issuecomment-105965213.

Thanks Arunoda! Makes sense.

@arunoda Oh, I had one more question:
cluster will automatically spawn extra instances as needed, correct? How does that work? Do those instances take up additional port numbers? (3001, 3002, etc)

Yes they are.
On Wed, May 27, 2015 at 10:42 PM Sam<EMAIL_ADDRESS>wrote:

@arunoda https://github.com/arunoda Oh, I had one more question:
cluster will automatically spawn extra instances as needed, correct? How
does that work? Do those instances take up additional port numbers? (3001,
3002, etc)
—
Reply to this email directly or view it on GitHub
https://github.com/meteorhacks/cluster/issues/58#issuecomment-106000707.

Sorry for all the questions.
So if I want to run a few Meteor apps on one server, how can I ensure extra instances of app1 won't collide with ports for app2? How many instances are typically spawned? Should app1 be on port 3000, app2 on port 3100? (or 4000)
If all these details are covered somewhere, let me know.

We use a npm module called portscanner to find the port:
https://www.npmjs.com/package/portscanner
On Wed, May 27, 2015 at 11:33 PM Sam<EMAIL_ADDRESS>wrote:

Sorry for all the questions.
So if I want to run a few Meteor apps on one server, how can I ensure
extra instances of app1 won't collide with ports for app2? How many
instances are typically spawned? Should app1 be on port 3000, app2 on port
3100? (or 4000)
If all these details are covered somewhere, let me know.
—
Reply to this email directly or view it on GitHub
https://github.com/meteorhacks/cluster/issues/58#issuecomment-106015485.

Ah! So I don't have to worry about port collisions.
Thanks again :) And awesome work on mup and cluster!! These are fantastic tools.


Update capacity-reservation-overview.md - Adjusted readability and cl…

…eaned up markdown
Update capacity-reservation-overview.md - Adjusted readability and cleaned up markdown
#1165

@bdeforeest
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

due to the number of incorrect changes, we'll close this PR. @bdeforeest - if you'd like to incorporate any of these, consider opening a new PR in the private repo. thanks.


Exclude Slash from Encode, when calling getURL() on S3 Resource

:loudspeaker: Type of change

[ x ] Bugfix
[ ] New feature
[ ] Enhancement
[ ] Refactoring

:scroll: Description
This is a new PR replacing the old one on the legacy repository :  https://github.com/spring-attic/spring-cloud-aws/pull/805 made by @songintae
In the PathResourceResolver.isResourceUnderLocation method, a slash is placed in the locationPath to verify the resource. Therefore, the slash should be excluded when encoding the object name.
PathResourceResolver class : org.springframework.web.servlet.resource.PathResourceResolver
:bulb: Motivation and Context
I am using S3 to manage static resources.
Using the spring, I wrote the setting code as follows.
-- application.yml
spring.resources.staticLocations:

's3://bucketName/admin/beta/'

And I registered the following Beans.
AmazonS3
SimpleStorageProtocolResolver
SimpleStorageProtocolResolverConfigurer
In this environment, when I make a request such as "https://domain.com/index.html", the PathResourceResolver.isResourceUnderLocation method does not find the file correctly due to URL encoding problems.
:green_heart: How did you test it?
Modified the existing test code.
:pencil: Checklist

[ ] I reviewed submitted code
[ x ] I added tests to verify changes
[ ] I updated reference documentation to reflect the change
[ x ] All tests passing
[ x ] No breaking changes

:crystal_ball: Next steps

Thanks @willome!


Where exactly yanked text is copied

Me again :P
Didn't quite get where exactly text from the register is copied when select and copy text from the corresponding " register.
When I open peekup via ""`` I press, for instance, 3 to get a text from the register "3 but palways pastes text from the unnamed register""`.

When you select text in the peekup window, the content of the selected register is temporarily copied into the unnamed register that defaults to * (you can change it with lua require('nvim-peekup.config').on_keystroke["paste_reg"] = ... if needed): this is so that the content is made available for pasting in whichever mode you want, in principle.
Alternatively, you can set
let g:peekup_paste_before = '<leader>P'
let g:peekup_paste_after = '<leader>p'

and hitting <leader>p will automatically open the window and paste the selected text before/after without storing it into the unnamed register first (and without the user having to p themselves).
What is the problem that you are seeing? Are you unable to select different registers or what?

With no extra config when I pick a register, let's say 4, it is not copied to *.

and p always pastes "" register.
I can more or less workaround this by
require('nvim-peekup.config').on_keystroke["paste_reg"] = "\""

but I wonder what is your original idea? Am I doing something wrong?

This is probably due to the fact that on your system the default unnamed register is \" instead of *: this is the reason why the configuration is exposed to the user with require('nvim-peekup.config').on_keystroke["paste_reg"] = "\"", so that they can configure it at will. This was added here after a discussion with my collaborator in this issue. We thought this would be the most practical way to make it portable on many architectures:
See below a proof of the behaviour:
https://user-images.githubusercontent.com/15387611/113601813-1ccae900-9642-11eb-9135-5da88c11aafe.mov

but I wonder what is your original idea?

the idea is simply that if we want the user to have flexibility on how to paste the content selected in the peekup window, such content must be temporarily stored somewhere (for you to access with p or ctrl+v or so) - the most appropriate location is the unnamed register, whichever one it is according to the architecture. If you instead want to directly paste without temporarily storing anything, you can use
let g:peekup_paste_before = '<leader>P'
let g:peekup_paste_after = '<leader>p'

paste before/after works great. Thank you for the explanation.


[build] Provide pre-configured projects for common IDEs

Prepare several pre-configured projects for common development environments avaliable in the different OS, similar to the already provided solutions for VS2015 and VS2017. The proposed IDEs would be:

[x] Visual Studio 2015 (Windows) -> raylib/projects/VS2015
[x] Visual Studio 2017 (Windows) -> raylib/projects/VS2017
[ ] Visual Studio Code (Linux, Windows, macOS) -> raylib/projects/VSCode
[ ] Geany (Linux, Windows, macOS) -> raylib/projects/Geany
[x] Code::Blocks (Linux, Windows, macOS) -> raylib/projects/CodeBlocks
[x] GNOME Builder (Linux) -> raylib/projects/Builder
[ ] KDevelop (Linux, Windows, macOS) -> raylib/projects/KDevelop

Provided projects should be configured to compile raylib library (static/dynamic) and a simple example (i.e. core_basic_window.c).

KDevelop is a significantly better C/C++ IDE for linux than about anything else listed there (and I think it has a windows port as well but it's still in-dev).  It's native format is just cmake files though (it makes a secondary file for holding workspace settings but that's fairly useless overall).  Code::Blocks is fairly bad considering what is available nowadays, and isn't Geany basically a glorified text editor?  Never heard of GNOME Builder though...  ^.^;

YIf you there are people who would benifit, you're welcome to support it. The more the merrier, just follow the naming convention. Code::Blocks is driven by requests on the forum and elsewhere. Geany isn't too different from Gedit or Kate. Like them, it has plugins to expose a terminal, version control, gdb, scripting support and various other low-level tools. It's included in Raspbian, is available everywhere else I've looked and runs well on every machine and DE I've tried. It is kind of boring but gets the job done in a clear way.
Builder is nice if you're on GNOME. Both GNOME and KDE are too heavy for some kinds of machines raylib runs on, though that is no reason to not support them. If you have a sensible config for KDevelop, it should be just a drop-in PR, though I won't speak for Ray.

Thanks @OvermindDL1 for the point, just added KDevelop to list.

Cool, I didn't know that. I do really like the KDE interface in general and remember being a little bothered by QtCreators unique interface. I did like the documentation viewer and analysis tools but didn't stick around. I don't have any projects complex enough to really use an advanced IDE but I do learn quite a bit by looking at the tools they include. When I have a machine with enough RAM, I'll give it a try. Thanks!

You mean the extra apps like QtDesigner and stuff?

Indeed, it is fairly easy to accidentally load them...  ^.^;

Cmake is a litterbug too.

No it's not?  It keeps everything in it's build directory (which, in my opinion, should never ever ever be in-source, even KDevelop defaults it to being a dedicated subdirectory).  o.O?

I don't know enough to have made that general statement. I probably wasn't using it correctly, I just remember new files all over the tree.

I just remember new files all over the tree.

Yeesh, yeah that is absolutely not right.  If you see any project of who's build does that when you are not doing an in-source build (again, never recommended to do in-source builds, always do out-of-source builds), definitely file a bug report to them (and probably point them to The Hitchhiker’s Guide to the CMake (made by one of the big CMake people, in addition to the official CMake docs of course)...).

Should this be done to master or develop branch?

Builder is done in https://github.com/raysan5/raylib/pull/470

Hey! I just came back to this yesterday. I have Geany configured for some common scenarios but I'm still not sure how to cause specific files, i.e. raylib.h, to open automatically as you have notepad++ doing. I guess something is better than nothing so I'll get cracking.

i.e. raylib.h, to open automatically as you have notepad++ doing.

Never used Geany so a very uninformed note here: are you sure it can do this? If yes, maybe you need ctags for this to work?

I thought it would be simpler. A .geany project file keeps a list of open files in a raw string format like %2Fhome%2Fraylib%2Fsrc%2Fraylib.h . Not sure how to get our relative paths parsed so Geany can find the files. If there is an expansion mechanism, I haven't found it. There are several external methods to tweak the environment during make install or some other target but obviously I want to get the most out the project file first.
On the plus side, custom Build Menu commands embedded in the project file CAN find the source tree. This is where the practical customizations happen. We can create project-global or filetype-specific commands. Deciding what to put here is the fun part. I could make a [Start] button to open the initial environment but I want it auto, you know?

Just created the required folders for the different IDEs that can be supported in commit https://github.com/raysan5/raylib/commit/8ae8d3ac782825d732a0680bd1ad80db420718a9
Please, feel free to add your project related files to those folders! :)

Hey @RDR8! What's your progress with Geany project files? Could you send a PR?

Hey @raysan5 . I'm attempting to set up Visual Studio Code with raylib at the moment with the aim of getting in a PR. Any tips on fixing the error 'The code execution cannot proceed because libwinpthread-1.dll was not found. Reinstalling the program may fix this problem'?
happens when I try:
C:\raylib\mingw\bin\gcc.exe -o hi.exe hi.c C:\raylib\raylib\raylib.rc.o -s -O2 -std=c99 -Wall -lraylib -lopengl32 -lgdi32 -Iexternal -I../../src -L../../src -Wl,--subsystem,windows

@liamkennedy89 It seems C:\raylib\mingw\bin is not properly set in the path, gcc.exe could require of other programs/libraries in the same folder that, depending the working directory where you launch GCC, those programs/libraries are not found.
Just make sure C:\raylib\mingw\bin is on the path.

Ah, I was hoping to not have to add mingw bin to my envrionment vars path as I don't have to do this for notepad++ to build raylib games

I'm trying to run a sample code in VScode.
mingw32-make game
mingw32-make[1]: Entering directory 'C:/Users/fr-2097/Downloads/VSCode'
gcc -o game  -O1 -s -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces -Wl,--subsystem,windows -I. -IC:/raylib/raylib/release/include -IC:/raylib/raylib/src -IC:/raylib/raylib/src/external C:/raylib/raylib/raylib.rc.o -L. -LC:/raylib/raylib/release/libs/win32/mingw32 -LC:/raylib/raylib/src
-lraylib -lopengl32 -lgdi32 -DPLATFORM_DESKTOP
**gcc: fatal error: -fuse-linker-plugin, but liblto_plugin-0.dll not found**

compilation terminated.
This is running fine in Notepad++ though ...

@monsterbrain This issue has already been tracked separately on https://github.com/raysan5/raylib/issues/691.
Just added Geany project template for Windows.
Closing this issue for now.


fix(connect): await engine.connect in async context

 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.

@isqad I believe both approaches are identical. we are returning a Future from connect. Am I missing anything?

I though that async modificator is not needed if no any await calls 🤔

I though that async modificator is not needed if no any await calls 🤔

that's true :) but having it is also a valid syntax.

but having it is also a valid syntax.

Ok) So this PR might be closed)

Thanks @isqad I understand this looked weird, in the process of making this PR https://github.com/livekit/client-sdk-flutter/pull/109/files that code has been modified to be more clean.

All right, It is become more clear for me, thank you!


Automated cherry pick of #11809

Cherry pick of #11809 on release-7.7.
/cc  @cyrilzhang-mm
NONE

Trying to auto merge this PR.

Pull Request successfully merged
SHA: 62b35896c79671db1176c60c239772c69e8aa89e

@amyblais we need to revert this and the original PR because its causing a lot of e2e test failures.


Notifications for Google Chrome are complaining about auth header format

Hi,
I appreciate the work you've done to make this library available and keep it up to date. I was working on implementing it in a project and it was going great, but when I started testing it with Google Chrome (Version 118, flatpak in Fedora Linux 39 beta here, but I've tried other Chromes as well, including 118 in Windows 10), it's failed with an error. The exact same VAPID key setup works for Firefox just fine. The error Google reports is a 403 with the body of:
authorization header had invalid format. authorization header should have the following format: t=jwtToken; k=base64(publicApplicationServerKey)
I haven't dug into the library code yet, but is this something you're aware of?
Thanks,
Michael

Hi @michaellitherland,
My first guess would be that the authentication schema being used is WebPush, while Chrome requires Vapid.
Depending on how you are using the library, there are couple places where you configure that:

The default is set through PushServiceClient.DefaultAuthenticationScheme.
It can be set for specific delivery request as there are RequestPushMessageDeliveryAsync overloads which take it as parameter.
The integration for ASP.NET Core enables configuring the default while registering the services through PushServiceClientOptions.DefaultAuthenticationScheme.

My guess is that WebPush is being used somewhere explicitly, as in general Vapid is the default and should be currently supported everywhere (WebPush is the older scheme and is becoming obsolete).
If my guess is incorrect, than I will need some more detail - ideally a simple snippet to repro.

Hi @tpeczek ,
Thanks a bunch for the response. I logged the scheme in use and got

Hi @tpeczek,
I logged the scheme in use and got *** auth scheme: Vapid (using `Console.WriteLine($"*** auth scheme: {_pushClient.DefaultAuthenticationScheme}");' so it appears to be using the right thing. I've already got the code pretty well isolated so I'll try for a simple test class. The only other thing I can think of is if there's something wrong with the way I generated the VAPID keys, but then why would FF, Opera, and Edge be OK?
Thanks for giving this some thought. I'll try to follow up with a simple sample shortly.
Michael

I'm still debugging, but I did print out the request using the JSON serializer and it looks like this:

It was the key! I don't know why, but Chrome didn't like it even though FF and others were fine with it. I generated a new key and it's working. Thanks for the help @tpeczek, and sorry for the false alarm!

No problem, happy that you managed to get to the bottom of it.

I ran into this same issue as well so thought I should mention my fix for anyone else: My vapid keys were base64 encoded in a non url-safe manner (i.e using + and /). Once I switched the keys to the url-safe base64 encoding (-, _), it worked just fine.


Implement Automated Code Formatter

It will auto format your code after every push/PR
To Configure
Create a repository secret named TOKEN with your github oauth key
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token

Hello @ansh2166
Thanks for your PR, but the problem is it will add more unneeded commits to the project every time and PR is merged, so for now we can add a way to validate the format and fail if it not formatted, BTW i will keep this PR for future
Thanks
Amr Hesham


swift package init doesn't generate main.swift any more

$ swift package init
Creating library package: testproject
Creating Package.swift
Creating .gitignore
Creating Sources/
Creating Sources/testproject.swift
Creating Tests/
Creating Tests/LinuxMain.swift
Creating Tests/testproject/
Creating Tests/testproject/testprojectTests.swift

This means that when you follow the README you need to create main.swift yourself, otherwise if you add the code to Sources/testproject.swift you see:
testproject/Sources/testproject.swift:4:1: error: expressions are not allowed at the top level
HeliumLogger.use()
^
testproject/Sources/testproject.swift:8:1: error: expressions are not allowed at the top level
router.get("/") {
^
testproject/Sources/testproject.swift:14:1: error: expressions are not allowed at the top level
Kitura.addHTTPServer(onPort: 8090, with: router)
^
testproject/Sources/testproject.swift:15:1: error: expressions are not allowed at the top level
Kitura.run()
^

@ianpartridge You'll note the swift command said Creating library package: testproject
Library packages don't have a main.swift file.
I think you need to add something to tell it that you are building an executable package.

Maybe you need swift package init --type executable ?

Yes, swift package init --type executable is correct! Thanks both.
@rob-deans please update the README.md to add this.


Unable to refresh(f5) on modal page, window not found.

Environment
Nuxt CLI v3.0.0-27258467.4e424d0

Operating System: Darwin
Node Version:     v16.13.0
Nuxt Version:     3.0.0-27258467.4e424d0
Package Manager<EMAIL_ADDRESS>Bundler:          Vite
User Config:      buildModules, build
Runtime Modules:  -
Build Modules<EMAIL_ADDRESS>

Describe the bug
SSR is not working because of headless-ui.
If you can go to the modal page from index.vue it works
if you go to http://localhost:3000/modal directly or refresh there it breaks.
Not your fault, just headless-ui being naughty with using the window object
Additional context
No response
Logs
[Vue warn]: Unhandled error during execution of setup function
  at <Dialog as="div" class="fixed z-10 inset-0 overflow-y-auto" onClose=fn<onClose>  ... >
window is not defined
  at useWindowEvent (file://./.nuxt/dist/server/server.mjs:2819:3)
  at useFocusTrap (file://./.nuxt/dist/server/server.mjs:2897:3)
  at setup (file://./.nuxt/dist/server/server.mjs:3467:5)
  at callWithErrorHandling (./node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6599:22)
  at setupStatefulComponent (./node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6225:29)
  at setupComponent (./node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6181:11)
  at renderComponentVNode (./node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:198:17)
  at renderVNode (./node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:304:22)
  at renderComponentSubTree (./node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:269:13)
  at renderComponentVNode (./node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:214:16)

[ ] https://github.com/tailwindlabs/headlessui/issues/903

I tried to add headless ui and use their components Menu, MenuButton and MenuItems but I have a error "500 window is not defined".
Is this library not working at all with nuxt 3 (yet)?

I tried to add headless ui and use their components Menu, MenuButton and MenuItems but I have a error "500 window is not defined".
Is this library not working at all with nuxt 3 (yet)?

I added the link above, we are waiting for the update. headlessui

@eMeRiKa13 it only works in SPA mode without any Server side rendering :( headless-ui uses window and document object. 🤞 hope they fix it, would be a holy grail for me.

Thanks for your answer @productdevbook and @vanling!
I hope too

fixed, change modal ref true -> false :) and allupdate check repo


Fix performance test build task

Fixes invalid yaml syntax introduced in #17306 (related to #17364 as well).
The template pipeline triggers against eng/ changes to catch potential issues. If there are syntactic errors in the yaml then the pipeline "fails to run" which isn't a valid criteria/event to get posted back to the check runs.
For example: failing pipeline
Currently, the only way to verify eng pipeline yaml changes are valid would be to manually invoke the pipeline like /azp run go - aztemplate and make sure it was successfully run. I'm not sure if it's going to be possible to get the check runs to detect pipeline initialization failures.

FYI @weshaggard if you know of/can think of any workarounds to the problem detailed in this PR description.

/azp run go - azcore - ci

/check-enforcer override


Lumen 6 / Laravel 6 support

As i was trying to update to Lumen 6.0 i noticed that there is an incompatibility;
illuminate/support '^5.6'
illuminate/contract '^5.6'
Is there a update planned / available?

Support for L6.x and L7.x added. Sorry this took long.


File not change  when save open two file in Visual code & Visual studio

VSCode Version:
OS Version:

Steps to Reproduce:

Open file in vs code , modify and save and the same file open in vs studio , this file is not change

Reproduces without extensions: Yes/No

@nngocit
VS Code is using different file watching strategies depending on your OS and your setup.
First thing to check:

[ ] I verified that the issue still reproduces in our insiders version (https://code.visualstudio.com/insiders/)
[ ] I verified that this issue is happening outside of a node_modules folder. Our file watcher ignores this folder!

To find out more about this issue, please first answer this:

[ ] What OS are you on
[ ] Does this happen from an empty workspace, a single-folder workspace or a multi-root workspace?
[ ] Do you have files.useExperimentalFileWatcher: true configured in settings?
[ ] What is your configured files.watcherExclude setting?

Then please answer the following depending on your setup:

[ ] It reproduces with any folder or workspace you open
[ ] The files/folders you open are on your local disk and not on a network share nor a UNC drive
[ ] The files/folders you open are not behind a symbolic link
[ ] The folder(s) opened use the exact same casing as they are on disk
[ ] It reproduces when I make a change to the file from another VS Code window (either from the editor or the file explorer)

Then please attach the output of our development console

run code --verbose from the command line
perform the action that causes you to not see the file change in VS Code
attach the output from the console (Help > Toggle Developer Tools > Console)

Thanks for taking the time to fill out this questionnaire.


set MemorySwap to twice the size of memory without checking if swap is enabled or not

at https://github.com/docker/libcontainer/blob/master/cgroups/fs/memory.go#L50
libcontainer cgroup handling code set MemorySwap to twice the size of memory without checking if swap is enabled or not. We hit the issue https://github.com/GoogleCloudPlatform/kubernetes/issues/8814, had to work around it by explicitly disabling swap. Shouldn't libcontainer handle such case itself like:
if swap not enabled
cgroup.MemorySwap = -1
elseif cgroup.MemorySwap == 0
cgroup.MemorySwap = cgroup.Memory*2
else
...

cc/ @vishh @vmarmol

Yes, if swap is not supported we should not fail setting the implicit limit we derive.

The defaulting should happen only if swap is available.
On Mon, Jun 8, 2015 at 10:35 AM, Victor Marmol<EMAIL_ADDRESS>wrote:

Yes, if swap is not supported we should not fail setting the implicit
limit we derive.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/libcontainer/issues/616#issuecomment-110085732
.

If swap is not enabled, Docker should pass cgroup.MemorySwap=-1 to libcontainer, does k8s use libcontainer without Docker? Or can you give a specific way how we can reproduce this problem?

k8 uses remote api to create and then start a container. It supplies a hostconfig in both cases.
For create():
dockerOpts := docker.CreateContainerOptions{
Name: BuildDockerName(dockerName, container),
Config: &docker.Config{
Env:          makeEnvList(opts.Envs),
ExposedPorts: exposedPorts,
Hostname:     containerHostname,
Image:        container.Image,
// Memory and CPU are set here for older versions of Docker (pre-1.6).
Memory:     memoryLimit,
CPUShares:  cpuShares,
WorkingDir: container.WorkingDir,
Labels:     labels,
},
}
It uses config instead of hostconfig for compat. This one is not verified by daemon. But I guess the one passed in through Start() is the one that will get used:
hc := &docker.HostConfig{
PortBindings: portBindings,
Binds:        binds,
NetworkMode:  netMode,
IpcMode:      ipcMode,
// Memory and CPU are set here for newer versions of Docker (1.6+).
Memory:     memoryLimit,
CPUShares:  cpuShares,
}
Start() does have the logic to verify and disable MemorySwap if the file is not present. But it seems like we are not saving the right value.
The original reporter mentioned that it failed with docker 1.6.2, but worked with v1.3.
I'll try to repro this in the morning.

I think we can agree that the libcontainer API is broken no? :) I didn't ask for swap, yet libcontainer decided to default it to something even though there was no support. Seems like we should not default it in the case where it is not available. How would the client detect that support is not enabled otherwise?

agree with @vmarmol. I think defaulting memsw value to x2 mem value should happen at docker layer and not at libcontainer. Libcontainer should just take the value and set it.

+1 we should move the logic to docker and remove it from libcontainer.
On Tue, Jun 9, 2015 at 9:05 AM, Daniel, Dao Quang Minh <
<EMAIL_ADDRESS>wrote:

agree with @vmarmol https://github.com/vmarmol. I think defaulting
memsw value to x2 mem value should happen at docker layer and not at
libcontainer. Libcontainer should just take the value and set it.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/libcontainer/issues/616#issuecomment-110416467
.

+1 ;)
Sounds good to me

+1


Tamil Translations

Thanks for accepting the pull request.  Second batch of translations are added in this PR.

All amazing work!! 🎉  thanks for the continued translations

All amazing work!! 🎉  thanks for the continued translations


Add Gov Candidate callout above dashboard

Add "Are you a governance candidate?" callout to the dashboard.

Callout is outbound link to self-nomination forum post. Link coming soon.
Callout is timebound. Remove after Jan 8, 2024

Assets:

Figma

@C-Emily-Furlong do we have the link for this?


VLAZ: Watch yumfood.vn

VLAZ requests the watch of the watch_keyword yumfood\.vn. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

yumfood\.vn has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Get an Account on SAP BTP to Try Out Free Tier Service Plans

Tutorials: https://developers.sap.com/tutorials/btp-free-tier-account.html
I have a free trial individual account, Is it possible that I can covert it free tier account simply?

Hi @ahmedkhan29789, if you have a trial account you cannot convert it to an account with free tier service plans as trial is a closed-off sandbox environment type of account. For more information, see the fowing resources:

SAP Help Portal "Trial Accounts and Free Tier"
Tutorial Navigator "Get an Account on SAP BTP to Try Out Free Tier Service Plans"

Best
Annika


Update Clap to latest

We're currently still on v3 of Clap, the v4 upgrade has some differences that need to be worked out for the upgrade path.

This was landed in https://github.com/guybedford/chomp/pull/143 already.


Local Links script

Esko SC Script issue
Affected script

Name: ServiceCloud Local Links
Version:8

OS

Name: Windows
Version: 7 Pro SP1
Language: US English

Browser

Name: FireFox
version:45.0.1
language (if different from OS):

Short summary if your issue
When I click on one of the links to a job folder a new tab is opened for the job folder but I cannot drag and drop a file into it. Is this how it should work?
Steps to reproduce the issue
Click on the link
A new tab opens with the directory of the job folder
When I drag a file to this window the file is duplicated in its original location
Other details:
I have a small movie file that show the issue. I can e-mail it to you. Let me know.

@tuxfre

Hi @saco-ekso,
Using the scripts, the links should open in a Windows Explorer window instead of a new tab in Firefox. That's odd.
If you want you should be able to upload your movie here, by dropping it on the text box.
In theory, when using Firefox, you need also to add the custom user.js to your profile directory, as described in the Wiki.
Then, after restarting Firefox, this first time you click on a file:// link, it should ask you what to do:

I remember you seemed to have issues last time, but that after quitting Firefox, you could add the user.js.
Can you check if the user.js is still in your profile folder?
Also, can you maybe go to the Configuration  Editor for Firefox and search for the value of the following parameters:

capability.policy.policynames
capability.policy.localfilelinks.sites
network.protocol-handler.expose.file

(a screen capture would be prefect)
Kind regards,
Benjamin

I quit Firefox, deleted the old user.js file, created a new one and started Firefox, tried the link and it did not help.
The movie format is not excepted
Below are the Configuration Editor for Firefox settings you requested

Thanks,
Sam

Here's the movie. You will need to change the extension from .jpg to .mp4

Hi Sam,
I'll have a look at this tomorrow morning (it's already 7pm over here)
Thanks for the movie and captures!
Benjamin

Hi Benjamin,
That will be fine.
Have a great evening!
Kind regards,
Sam Cox | Application Support Specialist | Esko
For all support, visit help.esko.comhttp://help.esko.com/
[esko-logo-mail]
From: Benjamin<EMAIL_ADDRESS>Sent: Thursday, March 31, 2016 1:11 PM
To: tuxfre/esko-SC-scripts
Cc: Cox, Sam
Subject: Re: [tuxfre/esko-SC-scripts] Local Links script (#11)
Hi Sam,
I'll have a look at this tomorrow morning (it's already 7pm over here)
Thanks for the movie and captures!
Benjamin
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHubhttps://github.com/tuxfre/esko-SC-scripts/issues/11#issuecomment-204027075

Hi Sam,
Something just crossed my mind, do you do a "normal" left-click, or are you using the "scrollwheel-click" (or any variant such as shift+click, crtl+click) that is meant to open files into a new tab?
I made a small movie that shows the difference between a "standard" left-click (first example in the video) and the "scrollwheel-click" (second example).
Check https://esko.box.com/click
Kind regards,
Benjamin

Hi Benjamin,
I am using the normal left click. I did try all of the other variations and they produce the same result. The morning when I clicked on the link to Mac folders I was presented with the screen to choose an application to open it with. I chose Internet Explorer and it opens the program but get the message below, which I assume is expected.

Hi Sam,
Indeed, it is expected that the mac link doesn't work on PC. But that was a very good test... because I think I may know where the issue comes from. It is possible that in Firefox's preferences, the file:// links are actually associated with Firefox itself instead of the Windows Explorer.
To check that you can go to the "Applications" section of the option panel (about:preferences#applications, see https://support.mozilla.org/en-US/kb/applications-panel-set-how-firefox-handles-files for more details).
Then search for a line showing file, like in the following capture:

There, make sure that the action is "Use Windows Explorer".
Kind regards,
Benjamin

Success!!! It works great!
Thanx for the help and have a great weekend!

Very happy to have been able to help you!
I wish you also a very pleasant weekend.

Benjamin,
Can we reopen this. I just noticed the path to the folder is \CC-SW-Problemlog-Gent\CC-SW-Problemlog-Gent. For NA is should be S:\CC-SW-Problemlog-NA

Hi Sam,
In my opinion, that's another issue ;)
Please open a new log, I'll have a look on monday.
I'll have to make some setting panel like for Telescope.
Have a nice weekend!
Benjamin


nerdctl: 0.7.2 -> 0.7.3

Motivation for this change
Bump nerdctl to 0.7.3
Things done

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

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

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

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

1 package built:

nerdctl

@ofborg eval


[Bug Report] log analytics workspace solutions fail in WESTUS3

Community Note

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

Versions
terraform: 1.1.5
azure provider: 2.97.0
module: 1.1.2
Description
Describe the bug
This is likely an Azure issue, but I couldn't find any clear documentation on why this shouldn't work so I'm posting here just in case.
Attempting to deploy the management submodule into WESTUS3 will fail when attempting to link the Log Analytics workspace to the automation account:

Error: creating Linked Service 'contoso-la/Automation' (Resource Group "contoso-mgmt"): operationalinsights.LinkedServicesClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: autorest/azure: Service returned an error. Status= Code="Conflict" Message="The regions of the resources do not match the expected mapping. See https://aka.ms/regionmappings for more information on supported region mappings."

Additional context
changing to another region such as WESTUS2 resolves the issue.

May be problematic, but we may consider adding a validation condition to limit the module deployment only to regions that support all the resources.

As per the link included in the error text, you can only map Azure Automation to Log Analytics workspaces for limited regions. WestUS2's on the Supported mapping list, but WestUS3 is not. So believe this is working as expected, and yes, validation of supported regions might help prevent some confusion there.

Hi @Justin-DynamicD and thank you for logging this issue, and @SteveBurkettNZ for your support.
We have intentionally not put restrictions in place within the module for scenarios like this because these things can change on the platform and we don't want to have to maintain the list of supported locations.

Another example where you may face this issue is when using locations which don't support Availability Zones for resources like gateways and firewall which have their AZ configuration controlled by a simple SKU value.

As you've discovered, deploying to a region with support for these capabilities works but another approach (if you must use a region which doesn't support creation of the Linked Service) is to make the following changes to your code:

Set the following values to false to disable Log Analytics solutions which depend on the Linked Service:

configure_management_resources.settings.log_analytics.config.enable_solution_for_change_tracking
configure_management_resources.settings.log_analytics.config.enable_solution_for_updates

Add link_log_analytics_to_automation_account = false to the configure_management_resources.advanced input:

Below is an example of what this may look like:
  configure_management_resources = {
    settings = {
      log_analytics = {
        enabled = true
        config = {
          retention_in_days                           = 30
          enable_monitoring_for_arc                   = true
          enable_monitoring_for_vm                    = true
          enable_monitoring_for_vmss                  = true
          enable_solution_for_agent_health_assessment = true
          enable_solution_for_anti_malware            = true
          enable_solution_for_azure_activity          = true
          enable_solution_for_change_tracking         = false # Set to false as depends on Linked Service
          enable_solution_for_service_map             = true
          enable_solution_for_sql_assessment          = true
          enable_solution_for_updates                 = false # Set to false as depends on Linked Service
          enable_solution_for_vm_insights             = true
          enable_sentinel                             = true
        }
      }
      security_center = {
        enabled = true
        config = {
          email_security_contact             = var.email_security_contact
          enable_defender_for_acr            = true
          enable_defender_for_app_services   = true
          enable_defender_for_arm            = true
          enable_defender_for_dns            = true
          enable_defender_for_key_vault      = true
          enable_defender_for_kubernetes     = true
          enable_defender_for_oss_databases  = true
          enable_defender_for_servers        = true
          enable_defender_for_sql_servers    = true
          enable_defender_for_sql_server_vms = true
          enable_defender_for_storage        = true
        }
      }
    }

    location = null
    tags     = null
    advanced = {
      link_log_analytics_to_automation_account = false # Disable deployment of the Linked Service
    }
  }
}

Using the configuration like this should allow you to make the most of the management solution in locations with this feature availability constraint.
We are also actively working with the product teams to see whether we can get broader roll-out of this specific capability to the platform. If you can confirm on this issue for tracking we will use this as evidence of demand to hopefully further prioritise this.

@Justin-DynamicD @SteveBurkettNZ - if either of you have access to a customer or partner CSA in Microsoft, please can you ask them to get in contact with me regarding this issue? I would like to talk them through an internal process for getting this escalated with the product engineering teams. All customer evidence we can gather will greatly help us with this! Thank you

@SteveBurkettNZ thank you for the confirmation.  I posted anyway as WESTUS3 was announced in February, but that particular link was last updated in Jan ... so I wasn't certain if there was merely a documentation gap. Seems like it's current after all :)
@krowlandson hear you loud and clear when it comes to not wanting to maintain a compatibility list with the cloud rate of change. The company I work at is a managed partner so I'll see what I can do about escalating through internal channels.

closing the issue as it was confirmed to be working as intended.


Tv4 neuron?

Hi,
Is there a reason why there are Tv4 neuroblasts, but no Tv4 neurons?  Tv1-Tv3 neurons exist, and Tv1-Tv5 neuroblasts exists.  I'm looking at a paper now (FBrf0217668) which mentions Tv1-4 neurons as being the four types.  I can wt_exp curate to "Tv neurons | subset", but I'd like to say Tv4 if there's no reason why it shouldn't be a term.  Thank you!
For more usage examples please see FBrf0233788, FBrf0221900, FBrf0230525.

Rather confusingly, Tv1-3 in the ontology are named for their segment, rather than the Tv1-3 designations that are used in the literature. We don't actually have specific terms for the different types (1-4) of Tv neuron.
I can make the subtypes based on the references you have given and I think the segment-specific general Tv neuron terms should be renamed.

Hm, based on descriptions it looks like our Ap1-4 might actually be Tv1-4. It is possible that terminology has changed since the papers our terms were based on, or maybe different groups using different nomenclature.
our 'Tv neuron' looks to be equivalent to our Ap4, so probably requires a merge.
Will add synonyms to others.


Remove deprecated actor-inspector and transport-hooks from lib/debug

This pr removes all the modules in lib/debug/actor-inspector, related to the already extracted RDP Inspector, because are not being used in firebug.next anymore (and remove the lib/debug/transport-hooks because it is now superseded by lib/transport-observer from the new rdp-inspector addon).

Great, thanks.
Honza


New NPM packages

I started building out the new package structures and the build processes for them. There are now 8 packages in this repo:

@rive/canvas
@rive/canvas-single
@rive/canvas-advanced
@rive/canvas-advanced-single
@rive/webgl
@rive/webgl-single
@rive/webgl-advanced
@rive/webgl-advanced-single

Still a few things to do:

[x] update build scripts to run tests
[x] update build scripts to bump versions of each of the 8 packages
[x] update examples

Note that I only updated the parcel example, I still want to update the other "simpler" ones once a version of each package is in NPM.


Play YUV420P video on android platform

Playing a YUV420P video on android platform, what parts of the Vulkan Samples project need to change and what parts to keep? I didn't see  an examples of video rendering. Thx

We have no Vulkan video related samples right now. The only ones I know of are these from nvidia: https://github.com/nvpro-samples/vk_video_samples

We have no Vulkan video related samples right now. The only ones I know of are these from nvidia: https://github.com/nvpro-samples/vk_video_samples

Are there plans to add examples like video rendering in the future?

Yes these samples are coming
On Sat, Oct 12, 2024, 2:02 AM mandagod @.***> wrote:

We have no Vulkan video related samples right now. The only ones I know of
are these from nvidia: https://github.com/nvpro-samples/vk_video_samples
Are there plans to add examples like video rendering in the future?
—
Reply to this email directly, view it on GitHub
https://github.com/KhronosGroup/Vulkan-Samples/issues/1190#issuecomment-2408466649,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA5IAYY57LLFBSS6K4IWF4DZ3DQRTAVCNFSM6AAAAABP2GNU7KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBYGQ3DMNRUHE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Support RcArray

#4

We need into_owned(self) -> Array to reduce copies.

RcArray::into_owned() -> Array sounds fine to me. Note that it will need to use the usual clone on write logic (if the rcarray is shared).

I don't see a way to avoid the cloning of elements in any of the &self methods. If self is &RcArray, then the array's data is by necessity shared (there exists at least one Rc handle that is not consumed then).

Yes, to_owned() cannot be replaced by into_owned() for &self method as you say.
I should consider to get &[f64] from RcArray directory.
Anyway, there are already many unnecessary clones in this crate. I will remove them incrementally.

Completeness of tests depends on my attentiveness. I'd like to use coverage tools :<
https://users.rust-lang.org/t/tutorial-how-to-collect-test-coverages-for-rust-project/650

into_owned has been added upstream (not released yet)

Thanks, I saw the PR. I will include it in this PR.


create new laravel 11 project, still using phpunit, not pest

Laravel Version
^11.0
PHP Version
8.3
Database Driver & Version
No response
Description
Create laravel project using composer still using PHPUnit as default test framework, not using Pest
Steps To Reproduce
composer create-project laravel/laravel:^11.0 example-app

Hi there,
Thanks for reporting the problem you are encountering, but it looks like this is a question which may be better suited for a support channel. We only use this issue tracker for reporting bugs with the library itself. If you have a question on how to use functionality provided by this repository you can try one of the following channels:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

However, this issue will not be locked and everyone is still free to discuss solutions to your problem!
Thanks.

This isn't an issue, but the default tests are still in PhpUnit. Wouldn't it be correct to migrate the base tests to Pest since Taylor announced Pest as the standard testing framework, @crynobone ?
@khannedy Use the Pest drift plugin and migrate your tests to Pest when you creates a new Laravel project using Composer.

composer require pestphp/pest-plugin-drift --dev
./vendor/bin/pest --drift

If you use the Laravel Installer (^5.6) to install a fresh Laravel Application, you get Pest tests. Or are you talking about the phpunit.xml which still exists?

If you use the Laravel Installer (^5.6) to install a fresh Laravel Application, you get Pest tests. Or are you talking about the phpunit.xml which still exists?

In this case, we are talking about creating Laravel projects through Composer.

Well than that is to be expected, because the Laravel Installer is responsible for configuring everything correctl like Starter Kits, Database, Testing Framework, etc.

Yes I was surprised too not to find Pest since it should be "out of the box" (documentation). I installed Laravel using Laravel Sail.

Was this ever solved because I also have phpunit instead of pest


Installing on Windows with README guidelines causes error/Necessary extra step misses in guideline

Entering the command mamba install mss python  in the mssenv environment via the Anaconda CMD.exe Prompt causes the following error, which ultimately leads to the mss package to not be installed:
ERROR conda.core.link:_execute(945): An error occurred while installing package 'defaults::git-2.40.1-haa95532_1'.
Rolling back transaction: done
unknown encoding: utf-16-le
()
LookupError('unknown encoding: utf-16-le')
()
If a specific version is written into the install command, e.g. install mss=1.8.2 python, the package number in the error message changes to:
ERROR conda.core.link:_execute(945): An error occurred while installing package 'defaults::fftw-3.3.9-h2bbff1b_1'.
Rolling back transaction: done
unknown encoding: utf-16-le
()
LookupError('unknown encoding: utf-16-le')
()

Also, one extra step to enable mamba in the environment is necessary:  conda install mamba#
I found this to be non-trivial, as mamba was working fine in the environment implemented into Anaconda by default when installing mambaforge- but only there.

The problem seems to have been a parallel installation of mambaforge and anaconda.
Several problems and pitfalls:
a) There are several cmd prompts; here the wrong one was used here. The "mambaforge prompt" should be used
b) The .condarc is shared between Anaconda and mamba. The "defaults" package repository should not be present, only conda-forge

When someone has a license of anaconda then the mamba command got builtin to the conda command.
https://www.anaconda.com/blog/a-faster-conda-for-a-growing-community


Timestamp and Login Improovments

Updated time-function to use local time since the Sleeping times were not accurate to my country. I think other users will have the same problem. (now uses local timezone instead of always using UTC)
Login function now prints an error message (received from Instagram) if it fails. Changed because I needed to know what errors I'm getting from requests (see issue #29) .
Changed the request-header to send Mobile-Client infos hoping to bypass the Checkpoint-Request somehow. (Not working)

Alright, is reverted now


Validating that staking deposit was done correctly

I think that it be really useful to have a way to validate that you can withdraw your funds in the future. I am going to stake a decent amount of money and it's nerve wrecking to stake it without being 100% sure that I can withdraw it in the future.

@pmantica3 Sorry for delays here... as far as I'm aware there is no simple way to test this atm, but if you retain your mnemonic this should be all you need to generate the withdrawal keys when the time comes.

@wackerow I read on discord that the withdrawal credential is in the deposit_data.json file that gets generated when we run the deposit cli. If the withdrawal credential was not specified at the time of running this, what does it do as default? When checking the credential in the file, it doesn't match the public key/address of the from ETH1 address used to send the ETH to the deposit contract.


Compressing a string before sending to multiple clients

Hello,
I hope it's not inappropriate to ask questions here. My use case is that I am using compression, but I am sending a rather large message to hundreds of clients at the same time. Currently, I assume it compresses the message each time it gets sent. Is it possible to compress it once and then send that resulting data to the clients?
Thanks!

If you use SHARED_COMPRESSOR and pub/sub then it compresses the message once and sends to many.

This worked, thank you! For anyone who happens to find this thread, this medium article and this example are very helpful. One gotchya I noticed was the topic must have a slash in it. So even if I wanted to publish to a topic with just a single room ID, I had to add /main to it -- so xyz/main


v2: Only pass tasks to asyncio.wait() for python 3.11

This was found in a CI test, and I figured it'd be a good idea to remove asyncio.wait() usage.
ophyd/v2/tests/test_ca.py::test_non_existant_errors
  /home/runner/work/ophyd/ophyd/ophyd/v2/tests/test_ca.py:178: DeprecationWarning: The explicit passing of coroutine objects to asyncio.wait() is deprecated since Python 3.8, and scheduled for removal in Python 3.11.

The file referred to in this error no longer exists, and at a glance it seems like asyncio.wait is never being used in ophyd/v2 on objects that aren't asyncio.Tasks.
Therefore I'm closing this issue.


Network metadata not loading when extension is active

Whenever the extension is active, clicking the 'Edit Metadata' button on networks results in the following error
reading info for L_15_AhriArcana: FileNotFoundError
Traceback (most recent call last):
  File "C:\Users\user\stable-ui\modules\ui_extra_networks_user_metadata.py", line 105, in get_metadata_table
    stats = os.stat(filename)
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'F:\\AI\\Models\\LoRAs\\Characters\\L_15_AhriArcana'

It happens for all networks except for texual inversions.
Steps to reproduce:

Enable the extension
Click the 'Edit Metadata' button on any on the aforementioned networks

Distribution: Automatic1111 WebUI (v1.7.0-7-gfe3a918c)

Most likely an issue with the re-registration process, I'll take a look at it and try to reproduce

I get the error but editing metadata still works... this is odd behavior, does editing metadata still work for you?

Yup, I found the issue and fixed it, lemme create a branch and pull request


Can tkeras-centernet work on CPU?

Hello,
Thanks for your work!
Can this code work on CPU?
Thanks a lot~

Yes it will run on the CPU. Just install tensorflow instead of tensorflow-gpu. Anyway I wouldn't do it. It will be very slow.


Registry tool: support registry apply YAML import of deployments, versions, and specs

Currently all resources imported with registry apply have a project/location as parent. This issue is about support for creating other resource types with registry apply.
As an example, here is a description of the Google Books sample API:
# books.yaml
apiVersion: apigeeregistry/v1
kind: API
metadata:
  name: books
data:
  displayName: Google Books API
  description: Books API
  versions:
    - metadata:
        name: v1
      data:
        specs:
          - metadata:
              name: openapi.yaml
            data:
              filename: openapi.yaml
              mimeType: application/x.openapi+gzip;version=3
              sourceURI: https://raw.githubusercontent.com/APIs-guru/openapi-directory/754babf60fe7fae589c43afea8ff31c44cfb48e9/APIs/googleapis.com/books/
v1/openapi.yaml

This can be imported with registry apply:
registry apply -f books.yaml

It contains version and spec subresources. We might break it into parts as follows:
# books.yaml
apiVersion: apigeeregistry/v1
kind: API
metadata:
  name: books
data:
  displayName: Google Books API
  description: Books API

# books-v1.yaml
apiVersion: apigeeregistry/v1
kind: Version
metadata:
    name: v1
    parent: apis/books

# books-v1-openapi.yaml
apiVersion: apigeeregistry/v1
kind: Spec
metadata:
  name: openapi.yaml
  parent: apis/books/versions/v1
data:
  filename: openapi.yaml
  mimeType: application/x.openapi+gzip;version=3
  sourceURI: https://raw.githubusercontent.com/APIs-guru/openapi-directory/754babf60fe7fae589c43afea8ff31c44cfb48e9/APIs/googleapis.com/books/v1/openapi.yaml

Note that the subresources use the metadata.parent field to specify the parent of the resource. To make YAML files portable across projects, metadata.parent fields do not include the containing project and location.  Artifacts attached to non-project resources could also be represented similarly. This allows these YAML files to be applied with registry apply and only the containing project and location, which can be omitted if it is specified in the registry tool configuration.
# create the API
registry apply -f books.yaml
# create the version
registry apply -f books-v1.yaml
# create the spec
registry apply -f books-v1-openapi.yaml

We could also keep the version description in the API description.
# books.yaml
apiVersion: apigeeregistry/v1
kind: API
metadata:
  name: books
data:
  displayName: Google Books API
  description: Books API
  versions:
    - metadata:
        name: v1

@giteshk I updated the description to use a parent field in metadata, as you suggested. It's implemented in #793.

Thank you @timburks this will definitely make things simpler to manage.

Completed by #793


Any link to the purturbed datasets?

Is it possible that you provide the purturbed dataset directly? It will save a lot of time preprocessing the original data. Thanks a lot for your help!

Hi Chengyue, thanks for your interest in our work. Unfortunately, we do not own the copyright of those datasets, so we are not able to distribute them directly. Please follow the notes in each folder, it should be very easy and straightforward to duplicate the results.