CloudFoundry CLI should support SOCKS5 proxies

Command
cf
CLI Version
cf version 6.23.0+c7866be18-2016-12-22
CC API Endpoint Version
N/A
It would be very nice if the CF cli supported the usage of socks proxies.  We do a lot of tunneling with SSH SOCKS proxies (the -D option). This allows us to communicate with various environments without having to be on that network directly, and not having to set up full-blown HTTP(S) proxies for all the environments.
Being able to use SOCKS5 proxies directly from the CF cli would be VERY convenient.

Hi @jkugler
Thanks for this feature request. I see it already received a few thumbs up!
We'll do some research.
Regards,
Dies Koper
CF CLI PM

Hi @jkugler
all-proxy is an environment variable some tools, e.g. Linux curl, accept. If the cf CLI would accept this, so you could e.g. do a all_proxy=socks5://user:pwd@<IP_ADDRESS>:1080 cf api, would that satisfy your requirement?
There may be complications for cf commands that make connections other than http(s), e.g. cf ssh. Is that a blocker?

To use a Socks proxy, you can use add this to an ssh invocation:
-o "ProxyCommand nc -X 5 -x : %h %p"
That will, of course, not work for systems without netcat installed (windows). Also, if the cf binary is not invoking an external SSH client, of course that won't work. If it is an internal library call, I would think that library would have a way to use a Socks proxy.  Only being able to use it for HTTP calls would, I would think, be very frustrating when a command was invoked that required an SSH connection.  I've only begun using the cf cli, so I really don't know how often we would need command invoked over SSH.

The cf CLI does not invoke an external SSH client.
The cf ssh command opens an SSH shell to your app instance's container. This is the only command that uses SSH, all others are HTTP (or websocket, in case of cf logs and other commands that display logs).
So basically, what I'd like to confirm when you say "We do a lot of tunneling with SSH SOCKS proxies (the -D option). This allows us to communicate with various environments without having to be on that network directly", is whether you mean you need a SOCKS proxy for the CLI to connect to the Cloud Foundry APIs because your CF is installed on those environments, or need it for other purposes (incl. accessing your app's container with ssh).

So, still trying to understand. How does it open an ssh shell to the app's container if it doesn't invoke an external SSH client? Is it an SSH client written via a go library built in to the cf cli?

So...comes down to: if an ssh connection is being invoked for the connection to the container, then it would need to pass through the socks proxy as well. Is there a way to utilize the socks proxy information in the ssh connection as well?

This issue is also blocking for us. We work in a corporate environnement where all outgoing internet traffic has to go through a proxy.
Everything works fine with the "cf" commands EXCEPT for "cf SSH" that seems to ignore our rpoxy configuration :(
This is really a pita, we don't have any workaround at the moment...If anyone has any kind of workaround, I would be eternally grateful to them.

@dkoper bosh cli v2 started supporting socks5 recently as well. it uses BOSH_ALL_PROXY env var instead of all_proxy as i found it pretty annoying to not be able to use same terminal session easily for proxied and non-proxied requests. users that do not have to make such distinction can of course just set BOSH_ALL_PROXY=$all_proxy.
re ssh wrapping: crypto/ssh library allows to pass in custom Conn which could have been created via a custom dialer that respects socks proxy configuration. here is an example: https://github.com/cloudfoundry/bosh-cli/blob/bd274dde4edba031cfcf7982c2e53a9f393aefb9/ssh/client.go#L116.

@cppforlife Thanks for chiming in!
When you talk about proxied and non-proxied requests from the same terminal, are you referring to switching between BOSH Directors that do require SOCKS and those that don't? Or the issue that all_proxy gets picked up by other commonly used Linux tools, like curl, which you use e.g. for downloading stemcells and artfacts from bosh.io, in which case it generally does not need the SOCKS proxy?
@Akhena It's not that cf ssh ignores your proxy configuration, it's that cf only supports HTTP proxies while ssh makes non-HTTP calls. SOCKS proxy support is the answer to that, but you'll need to have a SOCKS proxy server allowing outgoing Internet traffic.

Sorry - didn't mean to close this.

@dkoper Isn't it possible that cf ssh would also support a classic HTTP proxy (by using HTTP CONNECT)?
It seems to me that it's what other ssh clients (like Bitvise for instance) use to be able to tunnel their ssh connections.

Why are there two issues in the Pivotal tracker now?
https://www.pivotaltracker.com/story/show/137058285
and
https://www.pivotaltracker.com/story/show/138101297
The second seems to be a duplicate.

Just chiming in again. While @Akhena's idea is a good one, in  our case we do NOT have HTTP proxies in to these environments. The socks proxy created by our ssh -D connection is the only one we have, so using HTTP proxies with CONNECT would not work for our SSH connections.

I agree @jkugler , my suggestion is made at the wrong place.
Ideally, I should open a new issue asking for "Support for HTTP proxies".
Actually, in our corporate environnement, adding CF cli support for any of the two types of proxies (HTTP / SOCKS5) would solve our problem.

@Akhena I believe SOCK5 procies are more common, so we'll explore that first.

@jkugler Are you aware that you can use an external SSH client to connect to applications? I recently verified that using the normal OpenSSH client, the -D flag appears to work just fine. You can find documentation on how to SSH to CF applications in this documentation. There is still a conversation around whether or not the CF CLI should support this functionality, but hopefully this will provide a decent work around for the time being.

I think this is now implemented for free when we moved to go1.9
https://github.com/golang/go/commit/36f55a8b6125c9ae951487a0ad074b5c991f7b92
Quick sanity check worked in my new env. Neat.

@jkugler, @drnic, all
So since cf CLI 6.31.0 you should be able to set your SOCK5 proxy with https_proxy and most cf CLI commands work.
However, we've found two commands so far that do not work: logs (without the --recent option) and ssh). We're still investigating logs, but it seems ssh doesn't work because Golang 1.9's SOCKS5 support was not added to the APIs used by its ssh library.
Once we figure out why logs is not working, I'll look at updating the docs about this feature (and its limitations).

@dkoper thanks! In our use case, we configured our ssh client to use the socks proxy directly, so never used cf ssh, so probably wouldn't have hit that. What is causing the logs failure? Does it hit the API in a different way? Is there a way to make sure it uses and http(s) connection that gets routed through the proxy? It would seem like if logs used a proxy before, it would hit the same code path in Go that caused the go runtime to pick up the socks proxy...but I have no knowledge of the logs call, so... :)

@jkugler We hope to answer the why of the failure in the coming days.
What I see is that cf logs APP -v makes a number of API calls successfully (you can try yourself) but then hangs when it tries to switch protocols to upgrade to a websocket connection. (It is a streaming API that doesn't use plain HTTP/S).
This fails for an HTTP proxy as well, but I would have expected it could work for SOCKS5.

@dkoper Thanks for the update! Protocol is NOT my area of expertise. I'm sure you can google as well as I can, but I came across this and thought it might be helpful. https://www.infoq.com/articles/Web-Sockets-Proxy-Servers  tl;dr: sometimes websockets works with proxies...sometimes it does not. Can depend on the proxy. :(

@jkugler We believe noaa, the library we use to talk to loggregator, needs changes to support this. Created https://github.com/cloudfoundry/noaa/issues/38.

@jkugler I'd like to document the SOCKS5 proxy support (with its current limitations with ssh and logs) as I assume it's mostly usable. Do you have a suggestion for where to document it? Where would you look for it?
We have https://docs.cloudfoundry.org/cf-cli/http-proxy.html. I can't imagine SOCKS5 proxies are used widely enough to warrant a chapter of its own. I'm thinking of updating this chapter's title to include SOCKS5 and include it here, assuming HTTP and SOCKS5 proxy support are often documented together so that's where people would expect to find it. Does that sound fair?
Of course the search DB will be updated so searches for SOCKS5 should work no matter where we document it.

@dkoper That sounds good.  We could add "socks5" to the title, or just change the title to "Using the cf CLI with a Proxy Server." Either way sounds good. Thanks for walking this through!

Docs updated: https://docs.cloudfoundry.org/cf-cli/http-proxy.html

Looks good! Suggestion: I don't know if you do this, but maybe point to the reason log and ssh don't work right now?
"""
At this time, cf logs and cf ssh do not work through a SOCKS5 proxy. The reason for this limitation is a needed change in noaa, and is being tracked here: https://github.com/cloudfoundry/noaa/issues/38
"""
May motivate someone to help too! :)

SOCKS5 proxies are not common in corporate environments. In these environments all non-HTTP(S) traffic is evil. So aiming at SOCKS5 support only does not cover most of the larger/paranoid corporations. To solve this issue globally there is no way around HTTP proxy support.

In our use case, the socks proxy is actually being tunneled over an SSH connection into an environment (via the jump host). This would let us run cf cli commands locally in those environments. The firewalls/gateways/routers never see a SOCKS5 connection. :)

@jkugler The loggregator team was very helpful in promptly taking a look at the issue, even though it turned out they didn't need to make any code changes (the change was in a websocket library they depend on, and that library's author also quickly responded to our feature request).
Our next step is to try submitting a feature request to Golang to add support for this in cf ssh. I imagine their turn-around time is much longer, but I'd like to give it a try.

I ran into the same issue. Until this is implemented, using redsocks to proxify the cf command works for me. Add an iptables nat chain that redirects packets owned by cf to a local port of your choosing, then start redsocks and point it to your proxy server listening on that same local port. Then start cf ssh and iptables will redirect the packets to redsocks which will put it through your socks proxy. Example redsocks config: http://jmkhael.io/escape-proxy-hell-with-redsocks/

Hi @peroxid thanks we'll pick this back up and respond soon.

@abbyachau Are you saying the use of socks proxies will not be available for HTTPS commands as this ticket originally requested?

Hey @jkugler we've implemented support for SOCKS5 for cf v3-ssh. This has yet to be released but we will publish CF CLI v6.38.0 soon, which will include this feature. As this is a long thread, summarising here:

CF CLI 6.33.1 includes SOCKS5 support for logs - release notes

CF CLI 6.38.0 yet to be released but soon; includes SOCKS5 support for cf v3-ssh - see release notes when 6.38.0 comes out

Let me know if you have any further questions/comments.

Thanks answering, but sadly it still doesn't answer my question. :)
This issue was opened because I wanted to be able to set an environment variable such as
export https_proxy=socks5://localhost:9999

or
all_proxy=socks5://user:pwd@<IP_ADDRESS>:1080

(See this comment: https://github.com/cloudfoundry/cli/issues/1047#issuecomment-273303154)
and that would direct all CF API calls (which are http or https traffic) over the given socks proxy. Will the feature you reference in 6.38.0 do that? Or will it just support ssh over socks proxy?

Hey @jkugler we will support ALL_PROXY=socks5://socks_proxy.example.com and this will be updated in the official CF documentation which we will link to in the release notes. Let me know if you need anything else.

Very cool. Thanks!

I am having a hard time to get cf logs to work while using the https_proxy set to a socks proxy on my windows box. Since cf logs goes over wss:// is there any talks as to when it will be supported as well?


Adjust pom.xml to be able to build with graalvm

Motivation:
When trying to use graalvm and build netty we currently fail because our build configuration is not compatible with it.
Modification:

Skip plugins that are not supported when graal is used
Correctly configure surefire plugin for graal so it not produces a NPE

Result:
We can build and test with graalvm.

/cc @pmlopes


Document inversion ladder in curve25519

This demystifies two for-loops that do nothing. They were used to write
the ladder in a unified way. Now that the ladder is otherwise commented,
remove the dead loops.

+1

+1

@ekasper can this go in now so we can close this PR?

Merged.


Passing Condition to new LayerVersion and Application for #142

*Issue #142 *
Description of changes:
Pass passtrhough_resource_attributes when processing LayerVersion and Application
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #707 into develop will decrease coverage by 0.03%.
The diff coverage is 80%.

@@             Coverage Diff             @@
##           develop     #707      +/-   ##
===========================================
- Coverage    94.17%   94.13%   -0.04%
===========================================
  Files           67       67
  Lines         2676     2679       +3
  Branches       477      478       +1
===========================================
+ Hits          2520     2522       +2
  Misses          80       80
- Partials        76       77       +1

Impacted Files
Coverage Δ

samtranslator/model/sam_resources.py
95.39% <80%> (-0.31%)
: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 40445a1...3efc2e9. Read the comment docs.

This is awesome, by the way. Thank you so much for doing this!


Deploy on fly.io

Fly.io is cheaper than Heroku, and what the cool kids use these days.

Makes sense to do this in a separate, private repo to keep this one generic and friendly towards self-hosting.


Support JSON arrays of objects

In addition to JSON arrays of arrays, also support arrays of objects. Use the union of all keys as the headers, in the order first seen.
Note that it will not be possible to include both text headers and HXL hashtags following this approach.

[x] Add unit test for loading file.
[x] Implement basic input support.
[ ] Implement basic export support.
[ ] Repeat HXL columns for array values
[ ] Add a selector to allow picking out the HXL data embedded in another JSON object
[ ] Enhance to serialise object/multilevel values within rows.
[ ] Deploy and test in HXL Proxy.
[ ] Document format in HXL Proxy wiki.

Example of API output that needs a selector: http://api.unhcr.org/rsq/v1/submissions?type=submissions&page=1&year=2013%2C2014%2C2015%2C2016%2C2017&origin=AFG%2CBTN%2CCOD%2CERI%2CIRN%2CIRQ%2CMMR%2CSOM%2CSDN%2CSYR&originCompare=true&asylum=&asylumCompare=&asylumRegion=&resettlement=&yearSort=&originSort=&asylumSort=&resettlementSort=&personsSort


Merge zlib, curl and libxml2 into a single job

These 3 jobs are all configured the same way and do not need to be separate jobs each spinning a new build bot instance.
Fixes #825

I'm not sure if we want to necessarily merge these into a single job, there is some value in the parallelism still. I was thinking more that we want to merge the Darwin and Windows builds into a single instance rather than a separate set for Darwin and a separate set for Windows.

I'm not sure if we want to necessarily merge these into a single job, there is some value in the parallelism still. I was thinking more that we want to merge the Darwin and Windows builds into a single instance rather than a separate set for Darwin and a separate set for Windows.

Ah you would like to re-merge the flows instead? That's something that should be doable after the mac work is finished. I think this is still a good change because this is only consumed by the sdk job, which is happening after the compilers job so we don't get much from parallelization and this should be a bit cheaper to run since we don't need to spawn new instances for every sub-job.

I am unsure about the merge because I'm thinking that we may want to consume zlib and libxml2 in the compilers build as well, but not CURL.


Remove CONDITION event completely.

The output of the "kubectl get events" command is currently confusing and, at times, misleading. After talking to a few folks, most of the confusion seems to arise from the CONDITION column:

It is not clear how the possible values (waiting, running, Pending, failed, etc.) for the CONDITION column are determined

Often the code where an event is generated does not have enough information to accurately make this determination and thus assigns the value arbitrarily.
Because values are assigned arbitrarily, the meaning is often unclear.

The information provided in the REASON column seems sufficient to understanding what "phase/state transition" the event is reporting.

Proposal:

Remove the CONDITION column from "kubectl get events" output

Current sample output, for reference:
cluster/kubectl.sh get events

TIME                              NAME                                          KIND                CONDITION           REASON              MESSAGE
Mon, 29 Dec 2014 21:56:05 +0000   kubernetes-minion-1.c.saad-dev-vms.internal   Minion                                  starting            Starting kubelet.
Mon, 29 Dec 2014 21:56:59 +0000   influx-grafana                                BoundPod            waiting             pulled              Successfully pulled image kubernetes/pause:latest
Mon, 29 Dec 2014 21:56:59 +0000   influx-grafana                                BoundPod            waiting             created             Created with docker id 0536c9d30742adf4a6a956660ec99b2b71dcc68a478a35aa193fdea807951762
Mon, 29 Dec 2014 21:56:59 +0000   influx-grafana                                Pod                 Pending             scheduled           Successfully assigned influx-grafana to kubernetes-minion-1.c.saad-dev-vms.internal
Mon, 29 Dec 2014 21:57:00 +0000   influx-grafana                                BoundPod            running             started             Started with docker id 0536c9d30742adf4a6a956660ec99b2b71dcc68a478a35aa193fdea807951762
Mon, 29 Dec 2014 21:57:03 +0000   heapster                                      Pod                 Pending             scheduled           Successfully assigned heapster to kubernetes-minion-1.c.saad-dev-vms.internal
Mon, 29 Dec 2014 21:57:03 +0000   heapster                                      BoundPod            waiting             pulled              Successfully pulled image kubernetes/pause:latest
Mon, 29 Dec 2014 21:57:04 +0000   heapster                                      BoundPod            waiting             created             Created with docker id a5e026c56ab62408b1246ec1e5a8d04156dd409422c35c7a783bc60a18546d2a
Mon, 29 Dec 2014 21:57:04 +0000   heapster                                      BoundPod            running             started             Started with docker id a5e026c56ab62408b1246ec1e5a8d04156dd409422c35c7a783bc60a18546d2a
Mon, 29 Dec 2014 21:57:08 +0000   a20d5f23-8fa5-11e4-8514-42010af08855          BoundPod            waiting             created             Created with docker id 354b0bbc5e74ff03ca77c202a4ac6994eb54444701d2a77c7ec6f896f1e76d78
Mon, 29 Dec 2014 21:57:08 +0000   a20d5f23-8fa5-11e4-8514-42010af08855          BoundPod            waiting             pulled              Successfully pulled image kubernetes/pause:latest
Mon, 29 Dec 2014 21:57:09 +0000   a20d5f23-8fa5-11e4-8514-42010af08855          Pod                 Pending             scheduled           Successfully assigned a20d5f23-8fa5-11e4-8514-42010af08855 to kubernetes-minion-1.c.saad-dev-vms.internal
Mon, 29 Dec 2014 21:57:09 +0000   a20d5f23-8fa5-11e4-8514-42010af08855          BoundPod            running             started             Started with docker id 354b0bbc5e74ff03ca77c202a4ac6994eb54444701d2a77c7ec6f896f1e76d78
Mon, 29 Dec 2014 21:57:22 +0000   a20d5f23-8fa5-11e4-8514-42010af08855          BoundPod            waiting             pulled              Successfully pulled image quay.io/coreos/etcd:latest
Mon, 29 Dec 2014 21:57:23 +0000   a20d5f23-8fa5-11e4-8514-42010af08855          BoundPod            running             started             Started with docker id 3dca34da5bd7969ce6678daad022a40f1887aac26a1f075ff5a83caab31d8f51
Mon, 29 Dec 2014 21:57:23 +0000   a20d5f23-8fa5-11e4-8514-42010af08855          BoundPod            waiting             created             Created with docker id 3dca34da5bd7969ce6678daad022a40f1887aac26a1f075ff5a83caab31d8f51
Mon, 29 Dec 2014 21:58:06 +0000   influx-grafana                                BoundPod            failed              failed              Failed to pull image kubernetes/heapster_influxdb
Mon, 29 Dec 2014 21:58:07 +0000   a20d5f23-8fa5-11e4-8514-42010af08855          BoundPod            waiting             pulled              Successfully pulled image kubernetes/kube2sky:1.0
Mon, 29 Dec 2014 21:58:07 +0000   a20d5f23-8fa5-11e4-8514-42010af08855          BoundPod            waiting             created             Created with docker id 431ecef5c439c0e79f23e3cc2f365623d02cf3e19267866a2c135fe00711f33a
Mon, 29 Dec 2014 21:58:08 +0000   a20d5f23-8fa5-11e4-8514-42010af08855          BoundPod            running             started             Started with docker id 431ecef5c439c0e79f23e3cc2f365623d02cf3e19267866a2c135fe00711f33a
Mon, 29 Dec 2014 21:58:14 +0000   a20d5f23-8fa5-11e4-8514-42010af08855          BoundPod            running             started             Started with docker id 4a4ba2d9edee94dcfe37ff878346f348aefc4980d3ca0bcb46aa33ee727c1750
Mon, 29 Dec 2014 21:58:14 +0000   a20d5f23-8fa5-11e4-8514-42010af08855          BoundPod            waiting             created             Created with docker id 4a4ba2d9edee94dcfe37ff878346f348aefc4980d3ca0bcb46aa33ee727c1750
Mon, 29 Dec 2014 21:58:14 +0000   a20d5f23-8fa5-11e4-8514-42010af08855          BoundPod            waiting             pulled              Successfully pulled image kubernetes/skydns:2014-12-23-001
Mon, 29 Dec 2014 21:58:21 +0000   heapster                                      BoundPod            waiting             pulled              Successfully pulled image kubernetes/heapster
Mon, 29 Dec 2014 21:58:21 +0000   heapster                                      BoundPod            running             started             Started with docker id af873a78cad7e8ddb4550db73325893988c0e6f3f6708e3d50dc8d7d97771609
Mon, 29 Dec 2014 21:58:21 +0000   heapster                                      BoundPod            waiting             created             Created with docker id af873a78cad7e8ddb4550db73325893988c0e6f3f6708e3d50dc8d7d97771609
Mon, 29 Dec 2014 21:59:10 +0000   influx-grafana                                BoundPod            failed              failed              Failed to pull image kubernetes/heapster_grafana
Mon, 29 Dec 2014 21:59:59 +0000   influx-grafana                                BoundPod            waiting             created             Created with docker id 7a1f296a6b1602f18bd5911d73b40a2b356b7a871167539f2da941254a9cc7ae
Mon, 29 Dec 2014 21:59:59 +0000   influx-grafana                                BoundPod            waiting             pulled              Successfully pulled image dockerfile/elasticsearch
Mon, 29 Dec 2014 21:59:59 +0000   influx-grafana                                BoundPod            running             started             Started with docker id 7a1f296a6b1602f18bd5911d73b40a2b356b7a871167539f2da941254a9cc7ae
Mon, 29 Dec 2014 22:00:50 +0000   influx-grafana                                BoundPod            running             started             Started with docker id 49a3b1b6918af2233db7049d70362af4db9a1a3ae2dea930d79ad921781dc690
Mon, 29 Dec 2014 22:00:50 +0000   influx-grafana                                BoundPod            waiting             created             Created with docker id 49a3b1b6918af2233db7049d70362af4db9a1a3ae2dea930d79ad921781dc690
Mon, 29 Dec 2014 22:00:50 +0000   influx-grafana                                BoundPod            waiting             pulled              Successfully pulled image kubernetes/heapster_influxdb

Yeah, remove condition aka status. Originally I was thinking it would only be set if the code generating the event actually knew the new state, but this condition is rare. So we should remove it.


Strange issue with Page.objects.search on two systems. (works on one, doesnt other)

Summary
Page.objects.search(q="thing")
Expected behaviour
Return page objects with "thing" in title.
Actual behaviour
Works on Dev environment,
Get all pages with "thing" in title.
Move code to production environment and we get this:

get_latest/cms_plugins.py", line 52, in return_pages
    all_pages = Page.objects.search(q="thing")

  File "/opt/venv/env/local/lib/python3.6/dist-packages/cms/models/managers.py", line 83, in search
    qs = qs.filter(qt | qp)

  File "/opt/venv/env/local/lib/python3.6/dist-packages/django/db/models/query.py", line 784, in filter
    return self._filter_or_exclude(False, *args, **kwargs)

  File "/opt/venv/env/local/lib/python3.6/dist-packages/django/db/models/query.py", line 802, in _filter_or_exclude
    clone.query.add_q(Q(*args, **kwargs))

  File "/opt/venv/env/local/lib/python3.6/dist-packages/django/db/models/sql/query.py", line 1251, in add_q
    clause, _ = self._add_q(q_object, self.used_aliases)

  File "/opt/venv/env/local/lib/python3.6/dist-packages/django/db/models/sql/query.py", line 1271, in _add_q
    current_negated, allow_joins, split_subq)

  File "/opt/venv/env/local/lib/python3.6/dist-packages/django/db/models/sql/query.py", line 1277, in _add_q
    allow_joins=allow_joins, split_subq=split_subq,

  File "/opt/venv/env/local/lib/python3.6/dist-packages/django/db/models/sql/query.py", line 1198, in build_filter
    raise FieldError('Related Field got invalid lookup: {}'.format(lookups[0]))

FieldError('Related Field got invalid lookup: name',)

Environment

Python version: 3.5.2 (on both)
Django version: 1.11.12 (on both)
django CMS version: 3.5.2 (on both)

Any guidance would be extremly helpful, unsure what is going on here... Tried switching databases and having the same issue... models.py matches on both systems..
I've also tried blowing away the venv and reinstalling from scratch which does not seem to help either..

Hello @gyoza,
Thank you very much for your contribution to the django CMS project. The django CMS project has recently joined forces under the banner of the newly founded django CMS Association to revive the development of django CMS. For this reason we have analyzed all pull requests and issues in detail and decided which ones fit the product vision we want to go with django CMS.
Due to the age of this issue we are unable to safely accept the contribution. If you feel this issue is still required please inform a member of our technical committee<EMAIL_ADDRESS>Nevertheless we thank you for your participation and would like to emphasize that we do not want to discourage you in your contribution to the django CMS project. On the contrary, we encourage everyone who is interested in the success of django CMS to join us!
If you want to learn more about the work of the technical committee, our product vision and how you can become a member of the dCA, you can find all information here:

The Technical Committee of the django CMS Association
Technical Roadmap and Product Vision for django CMS
How to become a member of the django CMS Association

We are looking forward to every companion who would like to shape the future of django CMS together with us!
If you have any questions, feel free to reach out to Nicolai, our Community Manager<EMAIL_ADDRESS>Sign up for the Association now!


Neko mac build from linux doesn't work anymore

(at linux) haxelib run openfl build mac
then
(at mac) cd Export/mac64/neko/release/bin/<APP>.app/Contents/MacOS
(at mac) ./<APP>
Used to work, however now gives error:
./<APP>: cannot execute binary file
More debug info:

$ file <APP> gives:  ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, stripped

MacOS directory contains two files: lime.ndll and  executable

Bug span is around a year, more likely a lime issue. If you think so, let me know and I can move this issue there.

Lime included template files for Neko for Windows, Mac and Linux with the goal of supporting cross-desktop builds, however, in practice, the generated Neko output in many tests failed to function properly on a system that did not have Neko installed.
If the host system needs Neko installed, then it's a bit of a waste to go through the steps we were taking, and we had an out-of-date version of Neko for Mac which did not support binary sizes as large as the (patched) Linux or Windows versions, either.
Beyond the patch, Neko has a new version release with Haxe 3.3 development builds, newer than all our templates, which would have required more testing to integrate.
I am not sure that Neko is able to be used for more than a testing target at the moment, so the template files were removed, and we rely now on the host OS install of Neko.
I do still want cross-desktop builds, but perhaps using Electron (with an HTML5 build) or if HL (Nicolas' new VM) turns out, then we could enable it then

Thank you for taking time on brief response. Just for notes, reason I used cross-desktop builds was to keep openfl in a VM. That is a rising trend for Vagrant users as well. I developed this way about a year in  a sandbox without installing anything haxe in my computer (good for messing a lot and using different variations). I hope someday it will be trivial to bring it back. Despite slow down, I already switched to html5 to save the day :)

That's interesting, I would be interested in learning about how to integrate a workflow like this.
Speaking of HTML5, I'm interested in a "live code" scenario where we have a host application wrapper that reloads the JS content when the files are updated.

For my case, I prepared a simple Vagrantfile to spin up an ubuntu box with added provision commands to install haxe, openfl etc.
Then I used the following script outside:
#!/bin/bash
vagrant ssh << EOF
    haxelib run openfl build mac
EOF
if [ $? -eq 0 ]; then
    cd Export/mac64/neko/release/bin/TheApp.app/Contents/MacOS
    ./TheApp
fi

Which basically,  ssh into vm, runs the command, goes out, cd to release, then runs the neko.
For additional html5 serving I did following:
Added Vagrantfile to have the forwarded port configuration:
config.vm.network "forwarded_port", guest: 3000, host: 3000
I had runserver.py to have:
import os
import socket
import SimpleHTTPServer
import SocketServer
PORT = 3000

os.system("haxelib run openfl build html5") # compiles the project

# Absolutely essential!  This ensures that socket resuse is setup BEFORE
# it is bound.  Will avoid the TIME_WAIT issue
class MyTCPServer(SocketServer.TCPServer):
    def server_bind(self):
        self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        self.socket.bind(self.server_address)

print "Serving at port " + str(PORT)
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = MyTCPServer(("<IP_ADDRESS>", PORT), Handler)
os.chdir("Export/html5/release/bin/")
httpd.serve_forever()
# httpd.shutdown() # If you want to programmatically shut off the server

Where I would vagrant ssh into machine and then python runserver.py. My browser always open at localhost:3000, this part is quick enough for my case as I usually do web development same way. Living reload can be added with packages like https://pythonhosted.org/watchdog/. Only challenge would be to have OpenFL to compile only changed js files, I believe it currently compiles all hx files even only one line changed. Hope these help for idea to evolve.

Do you think HTML serving would work by forwarding the port, but using the Node HTTP server included in the Lime tools?

Absolutely, forwarding above is just for VM itself, one thing to make sure is node have to bind on <IP_ADDRESS> instead of <IP_ADDRESS>.  Reason I wrote above server from scratch was to eliminate need of node for my setup.

Oh, Lime includes an embedded Node server, openfl test html5 boots it up and runs it for your project :smile:

Just realized it includes a compiled binary, okay I might have a prejudge whenever I see a Node that would be reason I didnt go for it xP  Good thing the command is already there!


ivy-prescient-mode causes ivy to highlight with wrong face

By default it seems that ivy highlights matches using ivy-minibuffer-match-face-2 but when ivy-prescient-mode is enabled then matches are highlighted using ivy-minibuffer-match-face-1.

That is intentional, and I believe it's the way that Ivy is supposed to operate. Face 1 is used for highlighting the entire match (which might include the characters between letters of an initialism), while faces 2–4 are used for highlighting subgroup matches (which are either the initials in an initialism or a literal match).
What would you prefer instead?

The description for ivy-minibuffer-match-face-1 is:

The background face for ‘ivy’ minibuffer matches.

So it doesn't seem like it's appropriate for highlighting matches.
I would prefer ivy to use the same face regardless of whether ivy-prescient is used or not.

So it doesn't seem like it's appropriate for highlighting matches.

It says "background" because that face is the background behind the subgroup highlighting. See the image below, where the orange is "background" and the green is "foreground".
Maybe you should submit a bug report against Ivy to clarify the documentation.

I would prefer ivy to use the same face regardless of whether ivy-prescient is used or not.

Yes, but could you tell me how find-file-at-point should be highlighted with the query fap? Currently, it's done like this:

If you'd prefer the entire thing to be orange, or the entire thing to be green, that could be arranged and I could add a user option to ivy-prescient for that. I just want to make sure I know what you want.

@raxod502 I see what you mean now. Then I guess my problem is a bit different:

Look at the second option for example - the fa of customize-face IMO should not be highlighted with ivy-minibuffer-match-face-1.

In your color scheme,

ivy-minibuffer-match-face-1 is dark gray, and file-autoloads is highlighted with it
ivy-minibuffer-match-face-2 is pink, and f is highlighted with it
ivy-minibuffer-match-face-3 is green, and a is highlighted with it
ivy-minibuffer-match-face-4 is not shown, but it would be if you matched a three-letter initialism

If you don't like subgroups to be highlighted in general, why not customize ivy-minibuffer-match-face-2 through ivy-minibuffer-match-face-4 to be the same as ivy-minibuffer-match-face-1?
On the other hand, if you do want subgroups to be highlighted in pink and green in most situations, but specifically not for ivy-prescient.el, then I could add an option for that. Is it really what you want, though?

I do like subgroups but my question is different - for customize-face, do you think it's the correct behavior to highlight the fa with ivy-minibuffer-match-face-1?
Regardless of what color ivy-minibuffer-match-face-1 is, it seems wrong to me to use that face for consecutive characters that match, wouldn't you agree?

I see that I misread your previous comment, sorry about that. I thought you were talking about the first candidate rather than the second.
I think that highlighting fa with ivy-minibuffer-match-face-1 is the correct behavior, yes. That face is used to highlight the entire match, and this is true for all Ivy usage—not just in ivy-prescient-mode.
How would you want customize-face to be highlighted in your example?

I think I understand what is going on now, and I can see why this would be surprising. I would like to either fix things to be consistent with the default behavior, or add a user option to ivy-prescient.el to allow doing it either way. This should happen in not too long.
Thanks for your patience.

That is awesome to hear!
Thank you for this terrific package and for taking the time to investigate this issue.

Let me know if the following works for you:
(with-eval-after-load 'ivy-prescient
  (setq ivy-prescient-retain-classic-highlighting t))

@raxod502 I may have misunderstood or done something wrong but using M-x and typing fa has the same result as in https://github.com/raxod502/prescient.el/issues/11#issuecomment-399736209. I made sure that ivy-prescient-retain-classic-highlighting is set to t and I disabled and re-enabled ivy-prescient-mode multiple times.
Did I miss anything? What was supposed to change?

I tried again and it looks good now, don't know what's different.
Anyway, sorry for the noise and thank you very much!

ivy-prescient-retain-classic-highlighting seems to not work in some situations.
First, let us see the correct color in my config with ivy-prescient-retain-classic-highlighting.

And if searching with regexp, the ivy-prescient-retain-classic-highlighting appears to be back to setting nil

Seems very possible. Can you open a new issue with full directions to reproduce?


Add build tag sqlite_math_functions

Add build tag sqlite_math_functions to enable built-in scalar math functions using compiler flag SQLITE_ENABLE_MATH_FUNCTIONS. For reference: https://www.sqlite.org/lang_mathfunc.html.
I also updated the readme file, please let me know if you have any comments

I think this extension requires linking to math.h:
#cgo LDFLAGS: -lm

Thank you for the feedback, I think you are correct. I updated the PR and added the linker flag

Please also update the GitHub merge gate to include this new tag in the "Tags: full" step.
https://github.com/mattn/go-sqlite3/blob/bedc2985efda510946f102c1e2a5595be070a2b7/.github/workflows/go.yaml#L46-L47
It would also be helpful to include a unit test (with the same build tag) to verify that the SQLite math functions are compiled in. I don't think it's necessary to cover all of them, just pick one to ensure the build options are being set properly. https://www.sqlite.org/lang_mathfunc.html

Hi @bearbin,
I did not have much time lately but @lggruspe continued this fix and create a new PR here: https://github.com/mattn/go-sqlite3/pull/1059 Thus I think my PR can be closed and we continue in 1059?

superseded by #1059


Setup docker for project

Estimate: M

Current status

Docker and docker-compose to start a development version of react frontend.
Hot reload functionality for changed files.
Problem: docker-compose grants sudo privilege to node_modules and makes adding new packages require sudo


Split up testutil

Codecov Report

Merging #124 (1639814) into main (7f9b9da) will increase coverage by 0.90%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #124      +/-   ##
==========================================
+ Coverage   74.07%   74.97%   +0.90%
==========================================
  Files          42       41       -1
  Lines        1828     1806      -22
  Branches      254      252       -2
==========================================
  Hits         1354     1354
+ Misses        356      334      -22
  Partials      118      118

Impacted Files
Coverage Δ

...anyo/composelife/patterns/GameOfLifeTestPattern.kt
80.00% <ø> (ø)

...exvanyo/composelife/patterns/OscillatorPatterns.kt
100.00% <ø> (ø)

...om/alexvanyo/composelife/patterns/OtherPatterns.kt
100.00% <ø> (ø)

...lexvanyo/composelife/patterns/StillLifePatterns.kt
100.00% <ø> (ø)

...lexvanyo/composelife/screenshot/ImageAssertions.kt

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 7f9b9da...1639814. Read the comment docs.

Cannot auto-update because of conflicts.


Fix Whisper getting stuck in "no punctuation" mode

As reference here https://github.com/guillaumekln/faster-whisper/issues/62 sometimes Whisper might get stuck in "no punctuation" mode due to the int8 quantization. One possible solution it to up the COMPUTE_TYPE env variable to float16. There are a few solutions listed here as well: https://github.com/openai/whisper/discussions/194
The most recent could be tried first: https://github.com/mayeaux/faster-whisper/commit/dda1795cfffe09d819fb94b4c8bf78756362bc6e

A simpler solution might be to just run the format_punct helper function on every segment.


Phrase tutorials as Qiskit patterns

[x] Add section headers to denote Qiskit pattern steps
[ ] Add text at the top explaining the pattern

Closes #477.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>7
Details

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

Totals

Change from base Build<PHONE_NUMBER>5:
0.0%

Covered Lines:
2408

Relevant Lines:
2408

💛  - Coveralls


Feature request：希望提供api将Mesh转换成PhysX物理组件

Is your feature request related to a problem? Please describe.
希望提供api将Mesh转换成PhysX物理组件
Describe the solution you'd like
希望提供api将Mesh转换成PhysX物理组件,类似three-to-cannon

There are MeshCollider in PhysX we will support later. But It will cost more than simple collidershape. you can use multipy colllidershape to geneate collider with complex surface at this moment.


Cannot rotate expired secret for the DotNet Eng Services Secret Manager application

AzDo issue: https://dev.azure.com/dnceng/internal/_workitems/edit/5180

Release Note Category

[ ] Feature changes/additions
[ ] Bug fixes
[ ] Internal Infrastructure Improvements

Release Note Description

This has been fixed. Details in the linked work item


Revert "FinalForm based edit of Products with blocks"

Reverts vivid-planet/comet#754

continued in https://github.com/vivid-planet/comet/pull/1011


Add deployment instructions

Hello I got a bit of trouble to deploy on our kubernetes cluster.
After looking in rustler issues I found those instructions on another nif library.
https://github.com/mischov/meeseeks/blob/main/guides/deployment.md
I added them directly to the readme.

Thanks a lot @mrdotb, that's a great addition! :pray:


Add ability to review changes as in github

It would be very nice to have review feature or at least an ability to comment changes in the pull request.

@vityafx Might this be a duplicate of #124?

Nope. The review feature is a bit more complicated than just comments. Have you ever done a review on github? :) So no, this is not a duplicate. I'll fix the title so it reflects the intentions correctly. Thanks for the noticing of this issue.

Depends on #2583

Closed by #3748

Good work, thanks!


Add name option to select component

What
Adds an option to the select component to add a 'name' attribute that is different from the 'id' attribute. If none is passed, 'name' defaults to 'id' (as before this change was made).
Why
Smart answers is being converted to use components and the selects for dates have differing 'id' and 'name' attributes.
Visual Changes
No visual changes.
View Changes
https://govuk-publishing-compo-pr-1130.herokuapp.com/component-guide/select

Aside from Alex's comment, looks good to me 👍


Fix Fland's Cargo Shuttle Atmos

About the PR
Ran fixgridatmos on Fland's cargo shuttle map.
Why / Balance
It was bugged and caused people to die to lack of pressure/air before.
Media

[x] This PR does not require an ingame showcase.

Changelog
Should be noticeable enough not to warrant one.

Thank you for fixing this.
You really do need a standard changelog though lol
You could've typed one faster than the time it took to write why you didn't wanna write one

Or not!
Whatever, happy it's fixed lol


Is resume supported?

Can't seem to find that anywhere in this repo

https://github.com/kevva/download#downloadurl-destination-options

Returns both a Promise for a Buffer and a Duplex stream

Duplex stream is resumable since it has Readable interface.

How exactly does a duplex stream resume and incomplete downloads?

https://github.com/kevva/download#downloadurl-destination-options

Returns both a Promise for a Buffer and a Duplex stream

Duplex stream is resumable since it has Readable interface. https://nodejs.org/api/stream.html


fix: don't open the camp directions menu when removing the camp flag from a node created via the "Add Waypoint" menu

The "Add Waypoint" menu creates a camp node with the crossing flag. Because of this, on such nodes, when removing the camp flag, the camp directions selection menu was opened

Now everything is tested, it works as intended.
Also fixed the build for Linux and macOS.


Issues of GPT2-example

When I followed the GPT2-example in the tutorial, I encountered the following problem.

By the way, in the GPT2-example in the tutorial, the packages of TrainerParam and DatasetParamn are missing, and they should be imported by
from pipeline.component.nn import TrainerParam, DatasetParam

I also faced this problem

When I followed the GPT2-example in the tutorial, I encountered the following problem.

By the way, in the **GPT2-example** in the tutorial, the packages of **TrainerParam** and **DatasetParamn** are missing, and they should be imported by `from pipeline.component.nn import TrainerParam, DatasetParam `

Can you show us the version of fate-client？ Also with the version of fate.

The version is 1.11.2. I installed the standalone version following the guidelines 'Install FATE using a Docker image (recommended)' on page.

When I followed the GPT2-example in the tutorial, I encountered the following problem.

By the way, in the GPT2-example in the tutorial, the packages of TrainerParam and DatasetParamn are missing, and they should be imported by from pipeline.component.nn import TrainerParam, DatasetParam

Can you show us the version of fate-client？ Also with the version of fate.

The version is 1.11.2. I installed the standalone version following the guidelines 'Install FATE using a Docker image (recommended)' on page.

When I followed the GPT2-example in the tutorial, I encountered the following problem.

By the way, in the GPT2-example in the tutorial, the packages of TrainerParam and DatasetParamn are missing, and they should be imported by from pipeline.component.nn import TrainerParam, DatasetParam

Can you show us the version of fate-client？ Also with the version of fate.

The version is 1.11.2. I installed the standalone version following the guidelines 'Install FATE using a Docker image (recommended)' on page.

Please refer to deployment guide， the docker image does not have fate_llm directory.

I have copied directory python/fate_llm to {fate_install}/fate/python/fate_llm, but the error still exists.


resolves #282 use imagedir from an image's context during packaging

resolves #169 images in tables don't show up
resolves #190 plantumlconfig is looking in the wrong dir
resolves #30 Inline images are not included

Okay, this will very likely break some use cases for someone, but overall I believe this is a good change.


Xbox game pass version?

This works in the current state, due to the way they use steam sockets. I doubt the gamepass version does. Do you have any insight on this as I go download it to find out? I'm writing my own utilities and it could save me time if you already have the answer

I have no knowledge of how the Xbox version of the game handles matchmaking, nor any knowledge of how the Xbox itself handles firewall policies, but I highly doubt it's running the default Windows firewall.
Whether or not it's possible, I can't say. But if you can figure out which service is handling the matchmaking, and which ports are being used, then see if you can somehow block those from being used by your client. That'd be my best guess.
But good luck to you with the project! 😄

Yeah, it was a dead end. Interestingly enough, it also uses steam sockets.


Conflict with @cap-js/telemetry

Hello, in https://github.com/cap-js-community/event-queue/blob/main/src/runner/runner.js#L142
you're creating a context which looks like an http context, but actually is not.
This causes @cap-js/telemetry to throw as it expects that context having "http" property to be a correct http request, but it is not.
Maybe event-queue should not pretend its requests are http requests?
I've created an issue in telemetry repo as well, as I'm not sure who actually should fix this. Maybe you could have internal conversation on this?

hi @soccermax
where is getSubdomain() needed in/ for logging?
best,
sebastian

@sjvans, we use this method for extracting the subdomain, as it was the most commonly used method with CDS and xssec. Is there a better approach where we can store this information? We would like to have the subdomain available even when we are not running in the context of an HTTP request (event-queue). For tenant we have context.tenant but would we do this for subdomain?

hi @soccermax
for @sap/xssec-based authentication, we offer req.user.tokenInfo (since one of the last couple of releases). let me know if that isn't sufficient for you.
best,
sebastian

@sjvans thanks I'll look into it.
@corporateuser I'll release a new version with a fix. Thanks for reporting

release is in the build process: https://github.com/cap-js-community/event-queue/releases/tag/v1.4.1


3.1 build failed

Hi to all,
I was not able to build the 3.1 nominatim version because of the following issue:
"RuntimeError: Python 3.3 or larger required."
I was able to find the solution and I would like to contribute with my updates.
Can you add me as a contributor?
Thanks in advance

Can you fork and create a pull-request? Any reason you use Nominatim version 3.1, not the recent 3.5?

Hi,
I forked/fixed and created the pull-request.
I used the 3.1 in the past and I needed to reinstall the same version because of application requirements.

Thanks, this was closed with the merge of https://github.com/mediagis/nominatim-docker/pull/134


Removed leftover from tests

Description
Removed leftover from tests
Type of change

[x] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library
[ ] Bump-up library or tool used for development (does not change the final image)

/retest

/lgtm

/approve

/retest

/override "Red Hat Konflux / ols-e2e-tests-rosa / lightspeed-service"
/override "Red Hat Konflux / lightspeed-service-on-pull-request"

/override "Red Hat Konflux / ols-enterprise-contract / lightspeed-service"

/override "Red Hat Konflux / ols-e2e-tests-rosa / lightspeed-service"


⛏ Write test for parameter pollution

💭 Introduction
Create a YAML test to check for parameter pollution in a POST request.
📚 Reading
You can find a detailed documentation of test editor rules here
Find 100+ examples of YAML tests here
🎯 Requirements

Filters - The test should run only on POST APIs that have at least 2 input arguments in the JSON

Execute - It should remove 1 entry and add the removed key-value pair at the end of a different value.
For example, eg, if original payload looks like

{
    "name": "John",
    "age" : "36"
}

the attempt should look like
{
    "name": "John&age=36"
}

Validation - If the application responds with a positive response code and response body is 80% similar to the original mirrored Response body, the API endpoint is vulnerable to this kind of input validation flaw.

✅ Task summary:

[ ] Ask to be assigned to the issue.
[ ] Wait to be assigned. We will try to assign in less than 2 hours.
[ ] Fork the tests-library repository, create a new branch and commit the yaml file which will be called in your test.
[ ] Signup for Akto
[ ] Check in the Attempt tab, if the payload changes, then task is done.
[ ] Submit the PR here.

🙋🏼♂ Questions:
If you have questions, need any help, or just want to hang out, make sure to join us on our Discord server.

Could you please assign me this issue?

Can I work on this issue?

Could you review my pr? @ankush-jain-akto https://github.com/akto-api-security/tests-library/pull/25

Hi @nandini584 . Your yaml is invalid. Also you have missed some fields in the test template. Please run the templates and only on successful run submit a PR.

Yeah, sure I will redo it.

Hello @ankush-jain-akto  and @Ankita28g
Can I please work on this issue?

I've assigned it to you, @MacroAndMicro  . Happy hacking! Feel free to join our Discord if you need assistance.


example CSV file

Hi Felipe,
can you please include a sample CSV output file? I would like to build a parser and an example would be greatly appreciated.
Thanks!
Paulo.

Hii, is it posible to get contact in someway? I really need to use the accelerometer data from this wearable and I have some doubts.


fix(pkg): fix ts type resolution for /node subpath

🔗 Linked issue
close #251
❓ Type of change

[x] 🐞 Bug fix (a non-breaking change that fixes an issue)

📚 Description
Sorry for the previous PR, I didn't know if the type was necessary, so I made a simple fix that removed it.
there is an awesome tool to check exports https://arethetypeswrong.github.io/ :

Before
After

References: Masquerading as ESM
📝 Checklist

[x] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Thanks!


simple-picker data binding might be off

when you get a chance can you look at hax-upload-field; looks like your mild refactor in simple-picker busted it from showing the change when changing input type
Also when picking a new value and saving I'm no longer having those values submit when previously they were find (prior to the same refactor).

Submit a form or try changing the hax-upload-field widget to see this happening.

looks like notfiy flag came off the prop, adding it in and building to test

that fixed it


update to latest miniforge image

Fixes #https://github.com/conda-incubator/conda-store/issues/882.

Description

Update image to get access to latest conda with libmamba as default solver
Pull request checklist

[ ] Did you test this change locally?
[ ] Did you update the documentation (if required)?
[ ] Did you add/update relevant tests for this change (if required)?

Additional information

How to test

@peytondmurray could you review?


Food preferences (Tracker issue)

Who for

As a user, I'd like to see the information that matters most for me quickly, and first on the product page.
As a user, I'd like to see the products that match my choices first in search
As a user, I'd like to see the products that better match my choices if I scan an incompatible product

What

[x] #890
[x] #900
[x] #1349

Done

[x] #507
[x] #508

Why
Part of

#495

Same thing here, we don't need these stale tracker, do we?

ok, but we need to revamp those preferences at one point.
I should have added the various Figma proposals to do so in that issue


Added Bus Routes Solution in Java

Have you read the Contribution Guidelines?
Yes
Description
Added Sushant-Java directory.
In that directory, I added 1 solution file (Bus-Routes.java) and 1 editor screenshot (Sushant_Solution.png)
Please merge my pull request under completion of Hacktoberfest 2021.
Checklist

[ YES ] I've read the contribution guidelines.
[ YES ] I've checked the issue list before deciding what to submit.

Related Issues #6
Fixes Issue #6

Merged @imsushant12 🚀


Model other libraries

The API of the Python library is very different than of all other libraries (PHP, JavaScript, Java). It should be more similar.
You should be able to create a transaction and then sign it with an account (or multiple accounts for multisig). Creating a transaction should not be a method of the account.

[ ] Main class LTO should have methods to create an account (from seed, private key, etc)

[ ]  Chain id in constructor new LTO('T') (default to 'L')

[ ] Address class should be Account

[ ] signTransaction() method

[ ] PublicNode class

[ ] broadcast() method

[ ] Each transaction type should have their own class

[ ]  signWith() method
[ ]  broadcastTo() method
[ ]  Default fee in Transaction class

transferTx.signWith(account).broadcastTo(node)

tx.signWith(account) calls account.sign(tx).
account.sign(tx) sets senderPublicKey if not set, sets the timestamp if not set and adds a proof (signature).
tx.broadcastWith(node) calls node.broadcast(tx)


refactor(gateway): remove unnecessary result

This change is

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 83.23%. Comparing base (c9f77e7) to head (ec18be3).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #516      +/-   ##
==========================================
+ Coverage   83.20%   83.23%   +0.02%
==========================================
  Files          37       37
  Lines        1786     1783       -3
  Branches     1786     1783       -3
==========================================
- Hits         1486     1484       -2
  Misses        222      222
+ Partials       78       77       -1

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


[Feature] Leaderboard System

Lifetime, Monthly, Daily holographic leaderboard in the spawn area
Database-backed config for payout notices ($xxx for #1 in monthly)
Action bar message with position & top percentage or top #100

Reviews Table:

Add rejected (or general review status) column
Add total points awarded column
Future proofing for weighted points awarded

I am working on this

correction: we save a rejected plot by setting the total score as null in the database and reading it as -1 in our code

@Cinnazeyy so many of the new features already broke the backwards compatibility with the 3.0 update and as far as I remember @LordTuxn already agreed with us that for this update don't need to ensure 100% backwards compatibility. If not please correct me.
@grahhnt is working on this new feature because we need to wait for the PlotSystemAPI to get finished before we can release the beta on the network. He can't really help with that and thats why he is working on new features in the meanwhile.


UI: The UI displays multiple clear buttons for search

Fixes: https://github.com/aquarist-labs/s3gw/issues/554
Describe your changes
Issue ticket number and link
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] CHANGELOG.md has been updated should there be relevant changes in this PR

works for me!


DirectLine API Conversation crossing browsers

I posted a quest on stackoverflow earlier about having conversations cross browsers:
http://stackoverflow.com/questions/39649732/bot-connector-direct-line-api-cross-conversation
After, digging a little deeper and stepping through the emulator I realized that the emulator is using a different sub domain (webchat as apposed to directline). I also realized that webchat is using a cookie to store a UserId. Since the emulator makes the message post with from: null I can only assume you are setting the from prop of the messages server side with the UserId from the cookie.
So as I see it right now, if you write your own JS to work with the DirectLine API you either have to generate a temporary "UserID" and use it in the from of each message or send the initial message with from: null and get the Id the API generated by pulling the messages and reading it out. Is that right? It seems like there would be an easier way. Is there anything wrong with just generating a random id to use in the from property?
On the other side, this also means if you are using the emulator, the user can't restart the bot without killing the cookie. Which could be good and bad.
Am I missing something?

Hi @MohawkMan, you should generate a random ID when your client loads. (Or, you can use an existing user ID within your application, like a device ID.) The auto-assign behavior has been a source of confusion and will not exist in the next version of Direct Line.

Thanks, it is easy enough to do I just didn't know if it would affect anything else. I am working with another developer that actually did the bot design so I wasn't sure. I guess on his end whatever I put in the from came through as both ChannelAccountID and ChannelAccountName, so i wanted to ask before I did it.
Thanks for the quick reply.

@dandriscoll One more quick question, I know the documentation says the messages aren't stored for very long. Does that mean it is safe to assume that the random ID does not need to be a GUID? HOw long does that value live in the system?

The user ID is not stored, but it can be used inside your bot to correlate state, so it depends on how your bot is set up. Worst case, your bot uses that ID forever and never expires it (which is the default behavior), so you would need to plan accordingly.
A GUID is probably the safest answer; you can base-48 or base-62 (yes, 62) encode it if you want to make it more compact.

Closing this older issue. Please feel free to open a new issue if you have further questions.


No-cause threats and Default TW

Some threats, usually representing normal operations or the side effects of controls, have no causes that could depend on other threats. For example:

the 'threat' representing switching on a Physical Host (H.IS.PH.8) will happen without primary or secondary causes unless prevented by a disablement control strategy
the threat representing loss of availability due to disablement (H.A.H.6.1) will happen without primary or secondary causes if the triggering control strategy is enabled

Spyderisk system-modeller was not able to handle such 'no cause' threats, so domain modellers had to introduce a 'fake' TW attribute to act as a primary cause. In most cases, the attribute DefaultTW is used. The default TW level for these attributes must be zero.
The presence of such 'artificial' causes is confusing for users. Threat likelihood calculation does not require them, but it is unclear whether the system-modeller cause-and-effect relationship detection or subsequent threat path analysis may require having at least one primary or secondary cause. See system-modeller issue #120.
It makes sense to create a branch in which H.IS.PH.8 and H.A.H.6.1 are formulated as no-cause threats, just to see what happens, and to provide a test case for system-modeller developers should system-modeller issue #120 require changes to system-modeller itself.
Once system-modeller is able to handle this domain model branch, other threats should be converted to no-cause threats, allowing the artificial TW attribute Default TW (and possibly some others) to be eliminated.

Created a modified domain model, here attached.
domain-network-6a3-3-2-2-NoCauseThreats - unfiltered.zip
This is an 'unfiltered' domain model, which means all flags causing the system-modeller GUI to filter TWA and consequences are switched off, and construction state is not deleted. That may be helpful for development testing purposes.
This model includes two sets of changes:

a first tranch of changes to address #96, included because they are relevant to the proposed test cases
deletion of DefaultTW as a cause of the two threats H.IS.PH.8 and H.A.H.6.1.

A test revealed that the second change causes system-modeller to get the wrong likelihood for those threats. This is not what I expected - I expected problems with threat path calculations, not basic threat likelihood.
Because of this, only the first set of changes has been committed to branch 95 in GitHub.


API notes for Labels layer (and beyond)

🧰 Task
Dealing with #6397 has been a game of whack-a-mole with the Labels layer, because it is a house of cards of hacks built upon hacks built upon my original hack/sin 😂 (#175), which was a way to commandeer the ImageNode machinery to display segmentations. As I review the various whack-a-mole PRs I am going to use this issue to gather all the thoughts for the API fixes that we need to make, and link to individual issues that may already exist.

[ ] num_colors, colors, color_mode, _random_colormap, and _direct_colormap are all redundant with colormap. A colormap is a colormap is a colormap, and that should be the one API that controls how to match labels to colors. A colormap is a function that maps data to colors, which is what all of the above do. I think part of the reason they are so distinct is that they were each created independently at different times, and .colormap in particular was not usable for this purpose because we were saddled with inheritance from Image. Now that we have specialised shaders and specialised Colormap classes, we aren't so beholden to the Image API and we can engineer something that makes more sense. We can also allow selection of colormaps from named colormaps, e.g. 'lowdisc' for the default colormap, 'glasbey', (#454) etc.
[ ] The above implies that all of the mapping from labels dtype to texture dtype needs to be the responsibility of the colormap, rather than being scattered all over the place as it is now.
[ ] Having a precise colormap definition also allows us to e.g. allow plugins to create colormaps, which is probably a good idea for #1786, for example.
[ ] (All of the above kind of imply that things like contrast limits and gamma belong in the colormap. At the very least, they should be parameters of the map function and the colormap instance can be a closure over those parameters.)
[ ] Similarly, rather than force users to use direct mode to e.g. display features, we can use a FeatureColormap() that has a reference to the layer features and uses them to do the color mapping. (If we are worried about "class soup" for users — always a danger — we can have shorthand for this, e.g. layer.colormap = 'feature::eccentricity::viridis', and layer.colormap.contrast_limits = (0.5, 1).)
[ ] LabelColormap.use_selection and LabelColormap.selection seem redundant — just make LabelColormap.selection = None to indicate use_selection = False?
[ ] Edit 1: Having None as a key in the dictionary mapping labels to colors makes typing terrible, and makes it difficult to use accelerated frameworks such as Numba and Cython, which depend on strictly-typed classes and functions. We should instead use a defaultdict, or an attribute on the colormap class, or similar.

... I'll keep editing this issue as we keep encountering things to fix in the leadup to 0.4.19. But we can start discussing all of those points already. 😅
CC @Czaki @andy-sweet @kevinyamauchi @jluethi

Based a previous comment, we should also consider deprecating LabelColormap.seed which is not being used at the time of writing.

Edit 1: Having None as a key in the dictionary mapping labels to colors makes typing terrible, and makes it difficult to use accelerated frameworks such as Numba and Cython, which depend on strictly-typed classes and functions. We should instead use a defaultdict, or an attribute on the colormap class, or similar.

This is a good thought. I don't think Numba and Cython support defaultdict either, so maybe the extra attribute would be better. Can this all be done in a validator so users could supply however is most natural?

Both support it, but it will make code painfull slow.


[AlterLayout] NCHWc upsampling

Support NCHWc upsamping.

Can we add some test cases?

Added

@yzhliu For the failed test, I am able to pass on local machine. Could you help take a look?

I guess the failed test is not for cpu?

I guess the failed test is not for cpu?

Not really: https://github.com/dmlc/tvm/blob/master/topi/tests/python/test_topi_depthwise_conv2d.py#L311

@tqchen Docker test issue appears again. Could you clean up cache?

I agree with @ajtulloch that the AlterLayout function can cause some confusion, perhaps we could do an RFC discussion about the mechanism and clarify more in the comments. I am also not sure why const discard is necessarily here @yzhliu @merrymercy can you explain? Of course, the discussion does not have to block this PR since it fixes some problem

https://discuss.tvm.ai/t/discuss-and-documentation-of-alterlayout-pass/1944

Thanks @antinucleon @yzhliu @ajtulloch @tqchen , the CI has passed, so this is merged.


ManageIQ does not list public flavors during VM provisioning

Environment Details:
fine-4 with OpenStack Ocata
Gaprishdanvili with OpenStack Pike
Steps:

Create some public and private flavors at OpenStack.
Login to ManageIQ and add this OpenStack instance as a cloud provider.
Validate that compute >> flavors lists all the public and private flavors.
Ensure that the compute>>provider>>> summary page also displays them.
Provision a VM and list the flavors in the instance type drop down in the Properties tab.

Expected Result : All flavors including public flavors should be listed
Actual Result : Only private flavors within that project are listed. Is this as per design or a bug ?

I think this bug should be moved to manageIQ openstack provider stream. But I can't figure out how to do that.

@miq-bot assign @aufi

@aufi @mansam , Can we move this under MIQ openstack provider?

Tried in Gaprishdanvili with Pike. Problem continues to exist. openstack flavor list CLI run at OpenStack displays all the flavors (private and public):
openstack flavor list
+--------------------------------------+----------------------------------+--------+------+-----------+-------+-----------+
| ID                                   | Name                             |    RAM | Disk | Ephemeral | VCPUs | Is Public |
+--------------------------------------+----------------------------------+--------+------+-----------+-------+-----------+
| 24544b4c-8f2a-4f08-9b98-694ab1303cee | xlarge                           |  65536 |    0 |         0 |    16 | True      |
| 34c44a83-0a62-41b3-9ae5-9191ed404800 | large                            |  32768 |    0 |         0 |     8 | True      |
| 471bcef3-01fb-4042-82d4-679cc05db1ca | tiny                             |   4096 |    0 |         0 |     1 | True      |
| 525e1189-2726-44d6-80cc-ad6d2fcfa00e | small                            |   8192 |    0 |         0 |     2 | True      |
| 5c7ba6c0bf561fd1baeef6f7c6332861     | 5c7ba6c0bf561fd1baeef6f7c6332861 |   4096 |   12 |         0 |     1 | False     |
| 966e3616-7d7e-4484-9c6f-611c28c00f4b | medium                           |  16384 |    0 |         0 |     4 | True      |
| f4fe0caf-9fc6-425f-a870-f7b146b928ba | xxlarge                          | 131072 |    0 |         0 |    32 | True      |
+--------------------------------------+----------------------------------+--------+------+-----------+-------+-----------+


Update Guide “creating-pages”

Automatically generated by Netlify CMS

👷 Deploy Preview for hotplate-docs processing.

Name
Link

🔨 Latest commit
289ba691bcc7a18caa8ac6f88d1c2839a220d855

🔍 Latest deploy log
https://app.netlify.com/sites/hotplate-docs/deploys/6316aea022e45c0008f7346c


mongoid - support for instances and other issues

A few suggestions:

the mongoid extension needs to handle instances (not just classes)
it would be nice to pretty print object ids, otherwise things get really ugly
sorted keys are best
I prefer symbols (not strings) for keys, but maybe that's personal taste.
I'm tormented by issue #61

I tried to fork and create a pull request but I couldn't get the repo to work for some reason. Something to do with the calls to Rake inside the gemspec, which didn't play nicely with Bundler. Sorry about that. Anyway, here's the pertinent code. Thanks again for creating such an awesome gem!
    # Add Mongoid class names to the dispatcher pipeline.
    #------------------------------------------------------------------------------
    def cast_with_mongoid(object, type)
      cast = cast_without_mongoid(object, type)
      if defined?(::Mongoid::Document)
        if object.is_a?(Class) && object.ancestors.include?(::Mongoid::Document)
          cast = :mongoid_class
        elsif object.class.ancestors.include?(::Mongoid::Document)
          cast = :mongoid_document
        elsif object.is_a?(BSON::ObjectId)
          cast = :mongoid_bson_id
        end
      end
      cast
    end

    # Format Mongoid class object.
    #------------------------------------------------------------------------------
    def awesome_mongoid_class(object)
      return object.inspect if !defined?(::ActiveSupport::OrderedHash) || !object.respond_to?(:fields)

      data = object.fields.sort_by { |key| key }.inject(::ActiveSupport::OrderedHash.new) do |hash, c|
        hash[c[1].name.to_sym] = (c[1].type || "undefined").to_s.underscore.intern
        # hash[c[1].name] = (c[1].type || "undefined").to_s.underscore.intern rescue c[1].type
        hash
      end
      "class #{object} < #{object.superclass} " << awesome_hash(data)
    end

    # Format Mongoid Document object.
    #------------------------------------------------------------------------------
    def awesome_mongoid_document(object)
      return object.inspect if !defined?(::ActiveSupport::OrderedHash)

      data = object.attributes.sort_by { |key| key }.inject(::ActiveSupport::OrderedHash.new) do |hash, c|
        hash[c[0].to_sym] = c[1]
        hash
      end
      if !object.errors.empty?
        data = {:errors => object.errors, :attributes => data}
      end
      "#{object} #{awesome_hash(data)}"
    end

    # Format BSON::ObjectId
    #------------------------------------------------------------------------------
    def awesome_mongoid_bson_id(object)
      object.inspect
    end

Thanks Adam!
Any chance of adding specs?
Michael

Thanks again, just merged to master!


Implement an OpenAPIComparator

I've started implementing OpenAPIComparator based on the structure outlined in the other issue on the tapir project: https://github.com/softwaremill/tapir/issues/3645#issuecomment-2077169569
I've made some progress, but I'd appreciate feedback to ensure I'm heading in the right direction.

@abdelfetah18 let's then maybe create an openapi-comparator-tests module (not published), which will depend on both model & circe, and contain only the tests? I think such specification-based tests will have most value

@abdelfetah18 thanks, this looks good, there's a couple of TODOs left in code still, though?

Almost done, thanks! :) I needed to increase the memory for the tests to pass (which is weird ... but probably another issue: https://github.com/softwaremill/sttp-apispec/issues/197)

Great, most of the work is done :)


Returns p and q with bad signs

pq-solver seems to fail to return the correct signs. While the numbers are accurate, the signs are not.
For example, the equation 4x^2 + 7x + 3. The correct result would be 3 and 4, but pq-solver returns -3 and -4.

Patched in the v1.0.1 commit.


Fix unit tests with uprobe_multi

When kernel has the uprobe_multi feature, the numbers and the names of generated probes for wildcarded uprobes are different from when the feature is missing, which makes the unit tests fail. This updates the unit tests accordingly.
Also changes the probe name for uprobes with wildcarded target when uprobe_multi is present (see the first commit for details).
Checklist

[ ] Language changes are updated in man/adoc/bpftrace.adoc and if needed in docs/reference_guide.md
[ ] User-visible and non-trivial changes updated in CHANGELOG.md
[x] The new behaviour is covered by tests

One small nit but LGTM. Nice improvement.


Package and release Frames-beam

[ ] Add CHANGELOG.md and reference it in the .cabal file
[ ] Add README.md
[ ] stack build, stack test, stack haddock


Added improvements to p2p discovery

This PR adds better support for p2p discovery for blockchain nodes. Nodes will now reach out to known peers to make themselves known. Since nodes are now chatty around their presence, we can easily remove unresponsive nodes.
This obviously isn't a production-ready implementation, as there are plenty of inefficiencies with this discovery mechanism, but its effective enough for demonstration purposes.
See The Demo

What Changed

Added the ability to register oneself as a known peer for all of yourpeers.
Added peer removal in the case of a failed status.
Improved dockerfile and added checks for master node before starting secondary nodes.

This is so cool. I love the implementation and filling in the holes I missed. I made some style changes and renamed things to be more consistent with the idioms in place. We can talk about anything you want. If you are good with this, then I will merge!

Nice! Love the refactoring changes. Love the rename around origin peers vs known peers. Makes much more sense to tease those apart

Merging


tls support? no security whatsoever?

can you implement tls into the system?
is this production ready?
who are the users of icefiredb?

Thank you for your attention and questions!

TLS Support: Yes, we plan to implement TLS support in future versions to ensure data security during transmission.
Production Ready: Currently, IceFireDB is under active development and has not yet reached production-ready status. We are working hard to improve functionality and improve stability to meet the requirements of production environments.
Users of IceFireDB: Users of IceFireDB include developers, data architects, database administrators, etc., who use IceFireDB when building and managing data storage and retrieval systems.

I hope the above answers can answer your questions. If you have any further questions or suggestions, please feel free to let us know!


added contributors.md

#107

Added contributors.md file

Fixes: #107
Added the contributors.md file
Additional Info

Anything related Issues

made the made the changes  requested @Kajol-Kumari


Non-blocking wechat requests

Hi guys,
Thanks for making this wechat python repo. I am wondering whether there is a way to separate workers i.e.:

To receive message and save to database, and make other callbacks.

To send message.

Appreciate your help!

start_receiving(getReceivingFnOnly=True)

Ok...
But how do I run both simultaneously so that I can always receive and send message independently of each other?
For example:
# This is for receiving the message
@itchat.msg_register(itchat.content.TEXT)
def message_read(msg):
    message_data = {
        'sender': msg['FromUserName'],
        'receiver': msg['ToUserName'],
        'text': msg['Text'],
        'created': msg['CreateTime']
    }
    GLOBAL_SENDER = message_data['sender']
    print message_data

# This is to send a message, working independently of message_read.
def message_send():
    itchat.send('Hello filehelper', toUserName='filehelper')

I would like to have both message_read and message_send that is using the same WeChat account.

@afeezaziz You can simply place two workers in two different thread.
import threading, time

import itchat

MSG_LIST = []

@itchat.msg_register(TEXT)
def _(msg):
    MSG_LIST.append(msg)

def send_thread():
    while 1:
        if MSG_LIST:
            msg = MSG_LIST.pop()
            itchat.send(msg.text, 'filehelper')
        else:
            time.sleep(.1)

t = threading.Thread(target=send_thread)
t.setDaemon(True)
t.start()

itchat.auto_login(True)
itchat.run()


Replaced - by n/a in participants.tsv for BIDS compliance

Ran this script to do the change:
import pandas as pd
df = pd.read_table("/Users/alex/data/data-multi-subject/participants.tsv", encoding="ISO-8859-1")

df_new = df.replace("-", "n/a")
df_new.to_csv("/Users/alex/data/data-multi-subject/participants.tsv", sep='\t', index=False)

Fixes https://github.com/spine-generic/data-multi-subject/issues/89

I saw that this removed some " from some fields. @mpompolas could you please check if it breaks something in your pipeline ?

I think pandas is correct here. Those fields should not have had quotes in them.

Tested it here: https://pastebin.com/eNNPy8kq

@alexfoias can you pls resolve conflicts

@kousu I've realized that I did a mistake and I want to drop the previous commit https://github.com/spine-generic/data-multi-subject/pull/91/commits/ac4681a5661ac2cd40326e5ca760837c679fc70c not sure how to do it without breaking things. Could you please help me ? thanks

@jcohenadad we are ready to merge this one.

@alexfoias can you please update this PR after #112

@jcohenadad we can abandon this PR and not merge because the master already has n/a.


rd-lt pre approval requests rate generation test using e2e framework

Description
The goal of this PR is to exercise all Preapproval requests using e2e to make sure they can all be priced. Since one step of this process is to validate prod data this test is not meant to be run in CI and only by a dev as one of.
There are two steps that ensure PAR are priced.

Approving a PAR when adding to a shipment (if there is not enough pricing data this step fails)
Invoicing a shipment with all PAR's approved (if a par cannot be priced invoice submission will fail)

If either of the two steps fail it might indicate a problem in PAR data. Please see the readme.md file for detailed instructions on how to run the test.
Reviewer Notes
Please run steps outlined in the readme.md located in mymove/cypress/integeration/office/readme.md. It is important that prod migrations are run on dev database first to seed data for seed tables like tariff400ng_item_rates
Setup
To validate rate for Pre Approval Requests follow these steps:

Run prod migrations script against your dev database using DB_NAME=dev_db ./bin/run-prod-migrations
Seed data with e2e: ./bin/generate-test-data -named-scenario="e2e_basic" -env="development"
Setup cypress: npx cypress open
Remove skip from PreApprovalFull.js file so tests can be run
Search and select PreApprovalFull.js to run the data validation test. You should be able to invoice with all pre approval requests
PII data purging please make sure you remove all data from your dev db by running this command: db_dev_reset

Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Pivotal acceptance criteria been met for this change?

References

Pivotal story for this change

Closing this PR because it accomplished its purpose by confirming that 400ng items can be priced


Hikvision-DS-2DE2A404IW-DE3- Get device service capabilities API gives an error

🐞 Bug Report
Affected Services [REQUIRED]

 The issue is located in:
Onvif service
Is this a regression?
No

 Yes, the previous version in which this bug was not present was: ....
Description and Minimal Reproduction [REQUIRED]
Device service capabilities API gives an error
🔥 Exception or Error

{
    "apiVersion": "v2",
    "message":"request failed, status code: 500, err: {\"apiVersion\":\"v2\",\"message\":\"error reading DeviceResourece DeviceCapabilities for HIKVISION-DS-2DE2A404IW-DE3-099f4000-4d50-11b4-82c8-c06ded544d95 -\> failed to execute read command -\> failed to create 'GetServiceCapabilities' response for the web service 'Device' -\> cannot unmarshal into device.EAPMethodTypes\",\"statusCode\":500}",
    "statusCode": 500
}
![Screenshot from 2023-01-13 00-53-33](https://user-images.githubusercontent.com/60447543/212268205-5dd016bc-083c-4107-9286-c1a9ef58efeb.png)

🌍  Your Environment
Deployment Environment:
EdgeX Version [REQUIRED]:
Anything else relevant?

Looks like an issue with the internal onvif library

@ajcasagrande , bumped it to a Medium. Can you please submit bug against the IOTech package and link it here?

It works correctly with latest V3 code, find attached.
Closing this defect


Greet workflow

This PR adds a GitHub workflow to welcome contributors with a friendly message on their pull requests and issues.
Your feedback and suggestions are greatly appreciated. 🚀

Thank you so much for your contribution. But another person has already started working on the issue, and based on the first come, first contribute policy, I can't take your Pull Request right now. Please check out other issues, and before proceeding further, please make sure to let everyone know that you are interested/want to work on the specific issue.


Set default branch explicitly

Closes #233
The Git plugin will set the default branch with the following priority:

The branch keyword to the Git constructor
The Git setting init.defaultBranch
"main"

And all the other plugins can use that where they need to refer to the default branch.
This needs the default_branch from #242.
This adds a bit of awkwardness for testing with preexisting Git configurations that set init.defaultBranch to something other than main, since a bunch of tests assume that it'll be unset. I added with_clean_gitconfig to sort of solve that, but the mocking is too slow to use on the reference tests so they're just disabled in that case.

bump :)

I would love to see this PR merged soon. Specifically, I'm preparing a tutorial and noticed that devbranch="main" is missing from docs/make.jl. I'm also keeping an eye at https://github.com/JuliaDocs/Documenter.jl/issues/1443.

If anyone has time to take over, they should feel free -- I currently do not, unfortunately.

I could try to understand and fix this PR, but it is massive, and I don't know the project well enough. So I would probably just get frustrated along the way.
Instead, I could try to just fix the make.jl part. Is that of interest? At least this would push something over the main branch border and might be the kickstart for the rest of the changes.
By the way, my concern here is that I'm using PkgTemplates with mostly default options in my tutorial, which creates a git repo with main branch, but Documenter.jl still uses master, so the default is not consistent.

Superseded by #316, please close (I forgot to put that in my PR OP).


[Feature]: inject __dirname

🚀 Feature Proposal
Webpack allows injecting __dirname and __filename in ES modules, so we don't need to define them in each file.
this breaks importing from the same file while running a unit test via jest instead of Webpack.
Motivation
https://webpack.js.org/configuration/node/
Example
No response
Pitch
because it only occurs when running the unit testing via jest.

This is non-standard - we follow what Node does.


getcwd() crashes or shows garbage result

It appears that intentrace isn't handling the output of the getcwd() function properly. Depending on the program being traced, it can print random non-printable characters as the result, or even cause intentrace to panic.
Tested with intentrace 0.2.4 and Git main branch (at 11da6ad)
Example: Python - prints garbage
intentrace$ RUST_BACKTRACE=1 target/debug/intentrace python -c 'import os; print("Hello", os.getcwd())'
[...]
750898 stat - get the stats of the file: /home/cdb/miniforge3/lib/python3.10/site-packages |=> stats retrieved successfully
750898 getcwd - get the current working directory |=> cwd: �C�
                                                              �U
750898 write - write 32 Bytes into the file: 1 -> StdOut |=> wrote all 32 Bytes
Hello /home/cdb/Code/intentrace

Example: cargo - prints garbage and crashes
intentrace$ RUST_BACKTRACE=1 target/debug/intentrace cargo version

749927 brk - get the current program break |=> current program break: 0x55d1a58f9000
[...]
749927 ioctl - perform operation #21505 on the device: 2 -> StdErr |=> operation successful
749927 ioctl - perform operation #21505 on the device: 1 -> StdOut |=> operation successful
749927 getcwd - get the current working directory |=> cwd: �����U
749927 readlink - get the target path of the symbolic link: /proc/self/exe |=> target retrieved: /home/cdb/.cargo/bin/cargo
749927 getcwd - get the current working directory |=> cwd: �X]
thread 'main' panicked at src/syscall_object.rs:1330:82:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0: rust_begin_unwind
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/std/src/panicking.rs:662:5
   1: core::panicking::panic_fmt
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/panicking.rs:74:14
   2: core::panicking::panic
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/panicking.rs:148:5
   3: core::option::unwrap_failed
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/option.rs:2015:5
   4: core::option::Option<T>::unwrap
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/option.rs:965:21
   5: intentrace::syscall_object::SyscallObject::string_from_pointer
             at ./src/syscall_object.rs:1330:20
   6: intentrace::syscall_object::SyscallObject::get_precall_data
             at ./src/syscall_object.rs:957:33
   7: intentrace::syscall_will_run
             at ./src/main.rs:303:5
   8: intentrace::parent
             at ./src/main.rs:172:33
   9: intentrace::runner
             at ./src/main.rs:93:21
  10: intentrace::main
             at ./src/main.rs:77:5
  11: core::ops::function::FnOnce::call_once
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
749927 statx - get the stats of the file: /home/cdb/.cargo/bin/rustup-init |=> No such file or directory
cargo 1.82.0 (8f40fc59f 2024-08-21)

Example: /usr/bin/pwd - prints nothing
intentrace$ RUST_BACKTRACE=1 target/debug/intentrace /usr/bin/pwd
[...]
750359 getcwd - get the current working directory |=> cwd:
/home/cdb/Code/intentrace

Environment: Debian Linux 12, x86_64
Rust 1.82.0

I also tried a minimal C program that calls getcwd(). Seems now that intentrace is printing whatever the buffer passed in to getcwd() had when it is called. This isn't valid since an uninitialized buffer can (and usually is) passed to getcwd().
test program:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char *argv[]) {
    char buf[300] = "<<UNINITIALIZED>>";

    fprintf(stderr, "# testing getcwd() POSIX mode with caller-provided stack buffer:\n");
    if (getcwd(buf, sizeof buf) == NULL) {
        fprintf(stderr, "ERROR: getcwd failed\n");
        return 1;
    }
    fprintf(stderr, "my working directory is '%s'\n", buf);

    return 0;
}

Running it prints "<>":
$ intentrace ./getcwd
...
758044 getcwd - get the current working directory |=> cwd: <<UNINITIALIZED>>
758044 write - write 64 Bytes into the file: 2 -> StdErr |=> wrote all 64 Bytesmy working directory is '/home/cdb/Code/intentrace/test-getcwd'

It already knows that, infact getcwd has its own special return type which the function get_postcall_data checks for (of course this is not ideal)
the cause of the current problem with gibberish output is that the getcwd logic was looking for the buffer in the first syscall argument instead of the syscall return, I will push the new changes under 0.2.5,
thank you for the detailed issue report


Add write element variable names and values

These are missing in ElementVariables.jl and they are needed for output of stress, strain and other variables that define the state of a material. We are using the equivalent Python ones here https://github.com/lxmota/norma/blob/main/src/time_integrator.jl#L220 and here https://github.com/lxmota/norma/blob/main/src/time_integrator.jl#L378, but we woud like to transition to Exodus.jl

@lxmota I just added these capabilities. Thanks for the nudge. The methods you want have the following pattern
read_element_variable_*
Also, if you started using the package note that I tweaked a few things for quality of life. Mainly coordinates are now a n_nodes x n_dims arrays rather than the transpose and the block data structure now stores the connectivity for a block as n_els x n_nodes_per_el rather than the long list exodus natively stores.
I'm about to release these updates so they should be ready to use in an hour or so.

@lxmota can we close this issue or are there still some issues with this functionality?


Improve resource log tab (#2506)

Pull request opened by the merge tool on behalf of #2506

Merged in ea4702680db150830d657ebcd28c7c1dd7961a52


automatic amplitude normalization at wav reading

Hi,
wav amplitudes are automatically normalized according to:
https://github.com/python-acoustics/python-acoustics/blob/87e8b805bde1dfbc3bd18eb35d35c18066bf6292/acoustics/_signal.py#L1040
Couldn't this become an option (with normalization as default) that could be turned off?
I am in a situation where I'd need to keep original amplitudes.

https://github.com/python-acoustics/python-acoustics/pull/221#discussion_r240001923

Fixed in 19cde29e1f8a2a4f695893eadd3a64538c4d808e. Released in 0.2.3.


[Event Request] Codeunit 7308 "Replenishment" - OnFindReplenishmtBinAndOnAfterApplyFiltersOnFromBinContent & OnFindReplinishmtBinAndOnBeforeCalcQtyAvailToTakeBase & OnBeforeInsertWhseWkshLine

Hi Team,
In codeunit 7308, please provide the possibility to have OnFindReplenishmtBinAndOnAfterApplyFiltersOnFromBinContent and OnFindReplinishmtBinAndOnBeforeCalcQtyAvailToTakeBase events in FindReplenishmtBin procedure.
Also provide OnBeforeInsertWhseWkshLine event in InsertWhseWkshLine procedure.
1.OnFindReplenishmtBinAndOnAfterApplyFiltersOnFromBinContent

Event:
LOCAL [IntegrationEvent] OnFindReplenishmtBinAndOnAfterApplyFiltersOnFromBinContent(ToBinContent: Record "Bin Content",VAR FromBinContent: Record "Bin Content")
2.OnFindReplinishmtBinAndOnBeforeCalcQtyAvailToTakeBase

Event:
LOCAL [IntegrationEvent] OnFindReplenishmtBinAndOnBeforeCalcQtyAvailToTakeBase(FromBinContent:Record “Bin Content”,VAR IsHandled: Boolean)
3.OnBeforeInsertWhseWkshLine

Event:
LOCAL [IntegrationEvent] OnBeforeInsertWhseWkshLine(VAR TempWhseWkshLine: Record “Whse. Worksheet Line”; DoNotFillQtytoHandle: Boolean;VAR IsHandled: Boolean;VAR IsChecked: Boolean)
Please backport to BC14 also.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.