issues compiling vorax native extensions

I am on arch linux.
$ ruby -v
ruby 2.0.0p643 (2015-02-25 revision 49749) [x86_64-linux]
$ cat /etc/issue
Arch Linux \r (\l)

$ vim
:version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Mar  9 2016 16:26:24)
Included patches: 1-1529
Compiled by Arch Linux
....
+ruby/dyn
....

:ruby p RUBY_VERSION
"2.3.0"

ruby-2.3.0 [chris@x250cia ~]$ gem install ferret --no-rdoc --no-ri
Building native extensions.  This could take a while...
Successfully installed ferret-<IP_ADDRESS>
1 gem installed

ruby-2.3.0 [chris@x250cia ~]$ gem install vorax --no-rdoc --no-ri
Building native extensions.  This could take a while...
ERROR:  Error installing vorax:
	ERROR: Failed to build gem native extension.

    current directory: /home/chris/.rvm/gems/ruby-2.3.0/gems/sdsykes-ferret-<IP_ADDRESS>/ext
/home/chris/.rvm/rubies/ruby-2.3.0/bin/ruby -r ./siteconf20160317-28743-1rd0whr.rb extconf.rb
creating Makefile
ruby-2.3.0 [chris@x250cia ~]$ gem install vorax --no-rdoc --no-ri
Building native extensions.  This could take a while...
ERROR:  Error installing vorax:
	ERROR: Failed to build gem native extension.

    current directory: /home/chris/.rvm/gems/ruby-2.3.0/gems/sdsykes-ferret-<IP_ADDRESS>/ext
/home/chris/.rvm/rubies/ruby-2.3.0/bin/ruby -r ./siteconf20160317-28743-1rd0whr.rb extconf.rb
creating Makefile

for some reason although I installed ferret <IP_ADDRESS> it yells about <IP_ADDRESS> (before I deleted all entries under .rvm/ with ferret-<IP_ADDRESS>)
What else I can try to successfully compile vorax?
thanks,
Chris

strange thing, but Vorax works fine, not sure if it's old build or the new one despite of error messages but working now fine with ruby 2.3
Opening any .sql file works as expected (I can connect to oracle db and run commands as usual)
Is there a way to find out what version of Vorax is active/currently in use?

Unfortunately, sdsykes-ferret gem doesn't look like being maintained anymore. Vorax gem is just a helper gem which is used to get all the needed dependencies. If you installed those dependencies manually (including the ferret gem) you should be fine. No worries. I will update the gem to get the last version of ferret. Thanks for let me know about the issue.


Latest ZMap seems to break with the -I flag

Notice: Please don't file a bug report for questions on how to use ZMap, etc. Check out our Resources section for FAQ and feel free to chime in on Github Discussions if you're still unclear and we'll be happy to assist!

Describe the bug
Using the -I flag seems to always lead to a fatal error:
zmap: /home/pstephens/zmap/lib/constraint.c:253: constraint_lookup_index: Assertion `index < con->root->count' failed.
Aborted

CLI Arguments
Please paste your ZMap invocation below
sudo zmap -p 80 -I large_ip_set.txt -o "output.csv" -B 500M
sudo zmap -p 80 -I small_set_ips.txt -o "output.csv" -B 500M

Example Target IP
See attached IP list files
large_ip_set.txt
small_set_ips.txt
Expected behavior
I'd expect the command to scan the given IP file without erroring, unless there's a formatting issue with the text file.
Environment:

OS: Ubuntu 18.04 and MacOS when compiled from source
Version: Github HEAD

Additional context
Full output of using command
pstephens@scratch-04-a:~$ cat small_set_ips.txt
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
pstephens@scratch-04-a:~$ sudo zmap -p 80 -I small_set_ips.txt -o "output.csv" -B 500M
Nov 30 21:14:39.825 [INFO] zmap: By default, ZMap will output the unique IP addresses of hosts that respond successfully (e.g., SYN-ACK packet). This is equivalent to running ZMap with the following flags: --output-module=csv --output-fields=saddr --output-filter='success=1 && repeat=0' --no-header-row. If you want all responses, explicitly set an output module or set --output-filter="".
Nov 30 21:14:39.825 [INFO] dedup: Response deduplication method is full
Nov 30 21:14:39.856 [WARN] zmap: list of IPs is small compared to address space. Performance will suffer, consider using an allowlist instead
Nov 30 21:14:39.901 [INFO] recv: duplicate responses will be excluded from output
Nov 30 21:14:39.901 [INFO] recv: unsuccessful responses will be excluded from output
 0:00 0%; send: 0 0 p/s (0 p/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.00%
zmap: /home/pstephens/zmap/lib/constraint.c:253: constraint_lookup_index: Assertion `index < con->root->count' failed.
Aborted

I'm seeing this issue as well but for a single IP. (I use a for loop so I can add the hostname back into the output)
zmap-4.0.0-RC1/lib/constraint.c:253: constraint_lookup_index: Assertion `index < con->root->count' failed.


FileSystem calls over Atomics.wait instead of service worker

This PR provides an implementation of the Emscripten FileSystem that communicates using Atomics.wait and SharedArrayBuffer instead of the blocking HTTP requests to a service worker.
I open a PR here in jupyterlite/xeus for convenience, but part of the code here should probably go upstream in jupyterlite.
How to test it:

Build your jupyterlite site as usual.
Serve it using the proper headers, so that shared array buffers can be used: npx static-handler --cors --coop --coep --corp ./

Implementation details
Instead of directly using SharedArrayBuffers and Atomic.waits (which would require defining a proper communication protocol), I decided to go with using https://github.com/WebReflection/coincident which provides high level APIs for making blocking communication between worker <-> main thread.
Coincident comes as a replacement for comlink which we used for wrapping the worker kernel communication.

I'll turn this into draft and leave it open for discussions. But I'll open the proper PR upstream in JupyterLite to introduce the needed APIs for this to work nicely.

Nice, thanks @martinRenou for looking into this!

This is all working nicely (except ipyleaflet of course, because CORS are disabled...)

We should probably document how to enable this. It could be here in the jupyterlite-xeus docs, or maybe in the main JupyterLite documentation directly, as we will probably want to support it in the Pyodide kernel too?

We should definitely look at enabling this for jupyterlite-pyodide too :)
Agreed we should add it to the docs.

Testing locally: one advantage of this approach is that it works in a Firefox private window :+1:

@martinRenou should this be released in a 0.1.9, or 0.2.0?

This should not be backward compatible if not setting --cors --coop --coep --corp (actually the CI passed because it's backward compatible, we're still using jupyterlite 0.3.x there).
If people were already setting --cors --coop --coep --corp, file access will eventually fail and crash the kernel due to https://github.com/jupyterlite/xeus/pull/87/files#diff-a0841713a169cff378e9935d6ae3ba34d57653c34fcea3294ac4771db5427b14R185
So I believe this is backward incompatible.

I believe we can't make it backward compatible though, so we should probably make an alpha for 0.2.0. Would you like to do it ?

Yeah I was thinking a 0.2.0 would be on the safer side too.
Starting a 0.2.0-alpha.0 now.

We should probably document how to enable this. It could be here in the jupyterlite-xeus docs, or maybe in the main JupyterLite documentation directly,

Started to document this in https://github.com/jupyterlite/jupyterlite/pull/1405

I can have a look at implementing the shared array buffers approach for the pyodide kernel.

I can have a look at implementing the shared array buffers approach for the pyodide kernel.

That would be great, thanks! Hopefully the approach will be similar.


Add adapter speed declaration to the manual openocd invocation command

https://github.com/raspberrypi/pico-setup-windows/blob/53c1a0df5dc48fc8b5c2e05cad1f68e6b15dcae3/packages/pico-setup-windows/ReadMe.txt#L38 - this needs to include -c "adapter speed 1000" to align with the launch.json file.

@P33M Should this be 5000 to match the speed we're suggesting in other places?

It probably should?

Should be, yes -- let me know and I can update it in these files:

docs/tutorial.md
packages/pico-examples/ide/vscode/tasks.json
packages/pico-examples/ide/vscode/launch.json

Checked with Jonathan, and yes this should be 5000

Done in fbcb752a6053cf31c214f0bf4be9d3aa014d4310.


Update README.md

Added Codecov.io badge to README.md

Codecov Report
Patch and project coverage have no change.

Comparison is base (10f6fca) 96.34% compared to head (390f362) 96.34%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##           master       #3   +/-   ##
=======================================
  Coverage   96.34%   96.34%
=======================================
  Files           6        6
  Lines         246      246
=======================================
  Hits          237      237
  Misses          9        9

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


How to make a process depend on other group of process

I have this configs below.
Eye.application 'services' do
  check :cpu, every: 10.seconds, below: 100, times: 3 # global check for all processes

    working_dir "/root/"
    stdall "/var/log/eye/trash.log" # stdout,err logs for processes by default
    env 'APP_ENV' => 'development' # global env for each processes
    trigger :flapping, times: 10, within: 1.minute, retry_in: 10.minutes
    chain grace: 5.seconds # chained start-restart with 5s interval, one by one.
    group 'hybrid-fabric' do
         process :tincd do
            pid_file "/var/run/tinc.dnsvnet.pid"
            start_command "service tincd onestart"
            stop_command "service tincd onestop"
            restart_command "service tincd onerestart"
            stdall "/var/log/eye/tincd.log"
            start_timeout 60.seconds
         end
         process :avahi_daemon do
            pid_file "/var/run/avahi-daemon/pid"
            start_command "echo 'avahi started only by tinc'"
            stop_command "echo 'avahi stopped only by tinc'"
            stdall "/var/log/eye/avahi-daemon.log"
            start_timeout 60.seconds
            depend_on :tincd
         end
         process :avahi_autopid do
            pid_file "/var/run/avahi-autoipd.tap0.pid"
            start_command "echo 'avahi-autoipd started only by tinc'"
            stop_command "echo 'avahi-autoipd stopped only by tinc'"
            stdall "/var/log/eye/avahi-autoipd.log"
            start_timeout 60.seconds
            depend_on :tincd
         end
    end
    process :glusterd do
       pid_file "/var/run/glusterd.pid"
       start_command "service glusterd onestart"
       stop_command "service glusterd onestop"
       restart_command "service glusterd onerestart"
       stdall "/var/log/eye/glusterd.log"
       start_timeout 60.seconds
       depend_on 'hybrid-fabric'
    end
end

I need to start glusterd after group process hybrid-fabric is started. how can I do that?
putting on  depend_on 'hybrid-fabric' line just give me error
blank pid_file for: hybrid_fabric

right now there is no such options, you should set all process names:
depend_on [:tincd, :avahi_daemon, :avahi_autopid]

I have test the depend_on [:tincd, :avahi_daemon, :avahi_autopid] but the error is still the same.

root@dnsvplatform:~ # eye l /usr/local/etc/eye/eye.conf
blank pid_file for: tincd, avahi_daemon, avahi_autopid

Eye.application 'services' do
  check :cpu, every: 10.seconds, below: 100, times: 3 # global check for all processes

    working_dir "/root/"
    stdall "/var/log/eye/trash.log" # stdout,err logs for processes by default
    env 'APP_ENV' => 'development' # global env for each processes
    trigger :flapping, times: 10, within: 1.minute, retry_in: 10.minutes
    chain grace: 5.seconds # chained start-restart with 5s interval, one by one.
    group 'hybrid-fabric' do
         process :tincd do
            pid_file "/var/run/tinc.dnsvnet.pid"
            start_command "service tincd onestart"
            stop_command "service tincd onestop"
            restart_command "service tincd onerestart"
            stdall "/var/log/eye/tincd.log"
            start_timeout 60.seconds
         end
         process :avahi_daemon do
            pid_file "/var/run/avahi-daemon/pid"
            start_command "echo 'avahi started only by tinc'"
            stop_command "echo 'avahi stopped only by tinc'"
            stdall "/var/log/eye/avahi-daemon.log"
            start_timeout 60.seconds
            depend_on :tincd
         end
         process :avahi_autopid do
            pid_file "/var/run/avahi-autoipd.tap0.pid"
            start_command "echo 'avahi-autoipd started only by tinc'"
            stop_command "echo 'avahi-autoipd stopped only by tinc'"
            stdall "/var/log/eye/avahi-autoipd.log"
            start_timeout 60.seconds
            depend_on :tincd
         end
    end
    process :glusterd do
       pid_file "/var/run/glusterd.pid"
       start_command "service glusterd onestart"
       stop_command "service glusterd onestop"
       restart_command "service glusterd onerestart"
       stdall "/var/log/eye/glusterd.log"
       start_timeout 60.seconds
       depend_on [:tincd, :avahi_daemon, :avahi_autopid]
    end
    process :puppetserver do
       pid_file "/var/run/puppetserver/puppetserver.pid"
       start_command "service puppetserver start"
       stop_command "service puppetserver stop"
       restart_command "service puppetserver restart"
       stdall "/var/log/eye/puppetserver.log"
       start_timeout 60.seconds
       #depend_on :tincd
    end
end

oh, yes, this works only in one group, put :glusterd to 'hybrid-fabric' and it should work. depend_on quite experimental stuff.

okay.


Code formatting

I used the black tool to reformat your code. Changes include making all the single quotes double quotes, fixing indentation and line spacing, and making everything work with PEP8.
(I also tried using isort, but it didn't have anything to fix.)

Okay, thanks! I'll merge now :)


Investigate using https://github.com/nektos/act to run workflow tests locally

Can now use act for testing workflows locally: 4057bfe59dbfc177141f448eb3dfc4766df02071


Add mac addrs

There are 2 mac address crates, both seem pretty popular.  Probably should handle both.

Im just going to use macaddr for now since it handles EUI-48 and EUI-64, and is only the address type. The other crate has a functionality to interact with the host-os and is a bit more heavyweight than I'm looking for here.


The inappropriate use of articles

Signed-off-by: yanan Lee<EMAIL_ADDRESS>
- What I did
- How I did it
- How to verify it
- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

Thanks, but this is a vendored file from another project.
We can't change this here.


OkHttp 3.9.0 IllegalStateException with Cookies and ProGuard

Sample project: https://github.com/talklittle/TestOkHttp3.9.0
Crashes with OkHttp 3.9.0; works with OkHttp 3.8.1
Crashes with minifyEnabled true; works with minifyEnabled false
I guess ProGuard is stripping away src/main/resources/.
java.lang.IllegalStateException: Unable to load publicsuffixes.gz resource from the classpath.
       at okhttp3.internal.publicsuffix.PublicSuffixDatabase.findMatchingRule(PublicSuffixDatabase.java:120)
       at okhttp3.internal.publicsuffix.PublicSuffixDatabase.getEffectiveTldPlusOne(PublicSuffixDatabase.java:83)
       at okhttp3.Cookie.parse(Cookie.java:311)
       at okhttp3.Cookie.parse(Cookie.java:219)
       at okhttp3.Cookie.parseAll(Cookie.java:445)
       at okhttp3.internal.http.HttpHeaders.receiveHeaders(HttpHeaders.java:201)
       at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:95)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
       at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
       at okhttp3.RealCall.execute(RealCall.java:77)

Does not work: Proguard rule -keepdirectories src/main/resources/okhttp3/**
Does not work: Copying publicsuffixes.gz into app's src/main/resources/okhttp3/internal/publicsuffix/publicsuffixes.gz, even combined with above proguard rule.

Worked: Proguard rule -keep class okhttp3.internal.publicsuffix.PublicSuffixDatabase

I recently ran into this issue, because I excluded the file from my APK. There were no problems for years, but it started crashing some weeks ago. I assume the server operator changed cookie configuration.
Is there an alternative to including the file again, like switching off support for cookies? I don't need cookies because I'm querying a stateless API.

@schildbach That was the conclusion I came to, avoid cookies if you can't include.  https://github.com/square/okhttp/issues/7095#issuecomment-1046261963


Make supervisor setup more reliable

There was a race condition when setting up the supervisor such that in
some cases it was possible to miss a signal when the parent process
died.  We could reproduce this with by running a "snabb lwaftr bench",
but only on our test machine with two NUMA nodes and only when setting
--cpu on the lwaftr.  In that case the problem would appear when
running "snabb lwaftr monitor" on the lwaftr; the monitor process
would hang reading from the signalfd.  Because the monitor process
still had stdout open, then when piping its output to "grep", the grep
process would hang because the write side of its stdin pipe would
still be open as well.
This patch fixes this error by making cleanup reliable.  It does so by
taking a POSIX lock on an unnamed file in the parent, then taking
another lock from the supervisor child process.  In this way we avoid
some of the more arcane parts of Linux.

Some more details on the test that could reproduce this problem.  The issue was that on this server there are 12 CPUs but only 2 available for scheduling; the rest are in isolcpus.  So running the bench tool without --cpu made it be scheduled probably on one of the cores that the monitor tool would also run on.  I think that's how it caused the timing to get perturbed and for this bug to show up in the monitor tool.


wording patch to dbus hostname change warning

Change-type: patch
Connects-to: #1271
Signed-off-by: dt-rush<EMAIL_ADDRESS>

In addition, it seems this section is outdated and could do with a review https://www.balena.io/docs/learn/develop/runtime/#dbus-communication-with-host-os, in particular:
In some cases its necessary to communicate with the host OS systemd to perform actions on the host, for example changing the hostname. To do this you can use dbus.
This seems redundant given it's immediately followed by:
Changing the device hostname via a dbus-send method invocation ... is no longer possible
If there is a specific version that made this incompatible we should mention it (if we want to keep the section about it being possible). I'm guessing Supervisor 1.7.0 is really old and is that still necessary?

@dt-rush I couldn't make a suggested change so for simplicity just pushed another commit removing the example of dbus hostname. That work for you?

@balena-ci retest


Simplify and improve CompileLoss

There are some edge cases that current CompileLoss will fail:
import numpy as np

from keras import Input
from keras import layers
from keras import models

x = np.random.rand(8, 3)
y1 = np.random.rand(8, 1)
y2 = np.random.randint(0, 2, (8, 1))

# `output_names` should not override the actual `Model.outputs`
inputs = layers.Input(shape=(3,), name="input_a")
output = layers.Dense(1, name="output")(inputs)
model = models.Model(inputs, {"output_a": output, "output_b": output})
init_weights = model.get_weights()
model.compile(
    optimizer="sgd",
    loss={
        "output_a": "mean_squared_error",
        "output_b": "binary_crossentropy",
    },
)
model.fit(x, (y1, y2), batch_size=2, epochs=1, shuffle=False)

# `CompileLoss` should respect custom `compute_loss`

class MyModel(models.Model):
    def __init__(self):
        inputs = Input(shape=(3,), name="inputs")
        outputs = layers.Dense(1, name="a")(inputs)
        super().__init__(inputs=inputs, outputs=outputs)

    def compute_loss(self, x, y, y_pred, sample_weight=None, **kwargs):
        y_pred = [y_pred, y_pred]  # To list
        return super().compute_loss(
            x=x, y=y, y_pred=y_pred, sample_weight=sample_weight, **kwargs
        )

model = MyModel()
model.set_weights(init_weights)
model.compile(
    optimizer="sgd", loss=["mean_squared_error", "binary_crossentropy"]
)
model.fit(x, (y1, y2), batch_size=2, epochs=1, shuffle=False)

# Outputs
4/4 ━━━━━━━━━━━━━━━━━━━━ 0s 1ms/step - loss: 4.8554
4/4 ━━━━━━━━━━━━━━━━━━━━ 0s 688us/step - loss: 4.8554

An intensive refactor has also been applied to CompileLoss. The logic should be much cleaner now.

Codecov Report
Attention: Patch coverage is 52.85714% with 33 lines in your changes missing coverage. Please review.

Project coverage is 57.48%. Comparing base (dfc4f78) to head (b542584).

Files
Patch %
Lines

keras/src/trainers/compile_utils.py
52.85%
22 Missing and 11 partials :warning:

:exclamation:  There is a different number of reports uploaded between BASE (dfc4f78) and HEAD (b542584). Click for more details.
HEAD has 6 uploads less than BASE

Flag
BASE (dfc4f78)
HEAD (b542584)

keras
4
1

keras-torch
1
0

keras-tensorflow
1
0

keras-jax
1
0

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #20015       +/-   ##
===========================================
- Coverage   79.25%   57.48%   -21.77%
===========================================
  Files         500      500
  Lines       46884    46862       -22
  Branches     8651     8632       -19
===========================================
- Hits        37156    26940    -10216
- Misses       7977    18249    +10272
+ Partials     1751     1673       -78

Flag
Coverage Δ

keras
57.48% <52.85%> (-21.62%)
:arrow_down:

keras-jax
?

keras-numpy
57.48% <52.85%> (+0.01%)
:arrow_up:

keras-tensorflow
?

keras-torch
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Move best_practices.md outside of community tab

This allows us to create a new tab that will house all current and future best practices notes from any discussions.

Closes #

Proposed Changes

Change Type

[ ] bugfix
[ ] refactoring
[ ] infrastructure
[x] documentation
[ ] other

Checklist before review

[x] I added everything I wanted to add to this PR.
[x] [Documentation only] I built the docs locally.
[x] My contribution is harmonious with the rest of the code: I'm not introducing repetitions.
[x] My code respects the adopted style, especially linting conventions.
[x] The title of this PR is explanatory on its own, enough to be understood as part of a changelog.
[x] I added or indicated the right labels.

[ ] I added information regarding the timeline of completion for this PR.

[ ] Please, comment on my PR while it's a draft and give me feedback on the development!

I'll merge in for the moment, but let's discuss about splitting


RayTaskRunner crashes with pydantic>=2.0.0

prefect-ray crashes when using pydantic>=2.0.0.
Expectation / Proposal
It is expected that RayTaskRunner can work with both pydantic v1 and pydantic v2. Especially now that prefect 2.13.4 is out and it also had to update itself to handle pydantic v2's newer schema.
Prefect 2.13.4 supports using pydantic v2. But if one wants to use prefect-ray with it, they can't use pydantic v2 and have to fallback to pydantic v1.
I'm not certain if this is to be fixed in prefect-ray or if this is a prefect issue. Guidance appreciated.
Traceback / Example
❯ pip freeze | grep -E 'pydantic|prefect'
prefect==2.14.3
prefect-dask==0.2.4
prefect-ray==0.3.0
prefect-shell==0.2.0
pydantic==2.4.2
pydantic_core==2.10.1

from prefect import flow, task
from prefect_ray import RayTaskRunner

@task
def _():
    pass

@flow(task_runner=RayTaskRunner())
def main():
    _.submit()

if __name__ == "__main__":
    main()

Crash log with pydantic==2.4.2
23:18:38.369 | DEBUG   | prefect.profiles - Using profile 'default'
23:18:39.286 | DEBUG   | prefect.client - Using ephemeral application with database at sqlite+aiosqlite:////home/msq/.prefect/prefect.db
23:18:39.346 | INFO    | prefect.engine - Created flow run 'uber-koala' for flow 'main'
23:18:39.346 | DEBUG   | Flow run 'uber-koala' - Starting 'RayTaskRunner'; submitted tasks will be run in parallel...
23:18:39.347 | DEBUG   | prefect.task_runner.ray - Starting task runner...
23:18:39.347 | INFO    | prefect.task_runner.ray - Creating a local Ray instance
2023-11-03 23:18:40,978 INFO worker.py:1616 -- Started a local Ray instance. View the dashboard at http://<IP_ADDRESS>:8265
23:18:41.885 | INFO    | prefect.task_runner.ray - Using Ray cluster with 1 nodes.
23:18:41.886 | INFO    | prefect.task_runner.ray - The Ray UI is available at <IP_ADDRESS>:8265
23:18:41.889 | DEBUG   | prefect.client - Using ephemeral application with database at sqlite+aiosqlite:////home/msq/.prefect/prefect.db
23:18:41.923 | DEBUG   | Flow run 'uber-koala' - Executing flow 'main' for flow run 'uber-koala'...
23:18:41.924 | DEBUG   | Flow run 'uber-koala' - Beginning execution...
23:18:41.945 | INFO    | Flow run 'uber-koala' - Created task run '_-0' for task '_'
23:18:41.953 | DEBUG   | prefect.task_runner.ray - Shutting down task runner...
23:18:44.613 | ERROR   | Flow run 'uber-koala' - Crash detected! Execution was interrupted by an unexpected exception: TypeError: remote() argument after ** must be a mapping, not FieldInfo
23:18:44.615 | DEBUG   | Flow run 'uber-koala' - Crash details:
Traceback (most recent call last):
  File "/usr/lib/python3.8/contextlib.py", line 189, in __aexit__
    await self.gen.athrow(typ, value, traceback)
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/task_runners.py", line 187, in start
    yield self
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 531, in begin_flow_run
    terminal_or_paused_state = await orchestrate_flow_run(
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 843, in orchestrate_flow_run
    waited_for_task_runs = await wait_for_task_runs_and_report_crashes(
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 1861, in wait_for_task_runs_and_report_crashes
    states = await gather(*(future._wait for future in task_run_futures))
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/utilities/asyncutils.py", line 417, in gather
    keys.append(tg.start_soon(call))
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/utilities/asyncutils.py", line 393, in __aexit__
    retval = await self._task_group.__aexit__(*tb)
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 597, in __aexit__
    raise exceptions[0]
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 668, in task_done
    exc = _task.exception()
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 1944, in report_flow_run_crashes
    yield
  File "/usr/lib/python3.8/contextlib.py", line 662, in __aexit__
    cb_suppress = await cb(*exc_details)
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 597, in __aexit__
    raise exceptions[0]
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 1402, in create_task_run_then_submit
    await submit_task_run(
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 1463, in submit_task_run
    future = await task_runner.submit(
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect_ray/task_runners.py", line 172, in submit
    ray_decorator = ray.remote(**remote_options)
TypeError: remote() argument after ** must be a mapping, not FieldInfo
23:18:44.672 | DEBUG   | prefect.engine - Reported crashed flow run 'uber-koala' successfully!
Traceback (most recent call last):
  File "/usr/lib/python3.8/contextlib.py", line 189, in __aexit__
    await self.gen.athrow(typ, value, traceback)
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/task_runners.py", line 187, in start
    yield self
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 531, in begin_flow_run
    terminal_or_paused_state = await orchestrate_flow_run(
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 843, in orchestrate_flow_run
    waited_for_task_runs = await wait_for_task_runs_and_report_crashes(
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 1861, in wait_for_task_runs_and_report_crashes
    states = await gather(*(future._wait for future in task_run_futures))
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/utilities/asyncutils.py", line 417, in gather
    keys.append(tg.start_soon(call))
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/utilities/asyncutils.py", line 393, in __aexit__
    retval = await self._task_group.__aexit__(*tb)
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 597, in __aexit__
    raise exceptions[0]
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 668, in task_done
    exc = _task.exception()
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "prefect_ray_pydantic_v2.py", line 13, in <module>
    main()
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/flows.py", line 1079, in __call__
    return enter_flow_run_engine_from_flow_call(
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 283, in enter_flow_run_engine_from_flow_call
    retval = from_sync.wait_for_call_in_loop_thread(
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/_internal/concurrency/api.py", line 243, in wait_for_call_in_loop_thread
    return call.result()
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/_internal/concurrency/calls.py", line 282, in result
    return self.future.result(timeout=timeout)
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/_internal/concurrency/calls.py", line 168, in result
    return self.__get_result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/_internal/concurrency/calls.py", line 345, in _run_async
    result = await coro
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/client/utilities.py", line 51, in with_injected_client
    return await fn(*args, **kwargs)
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 375, in create_then_begin_flow_run
    state = await begin_flow_run(
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 531, in begin_flow_run
    terminal_or_paused_state = await orchestrate_flow_run(
  File "/usr/lib/python3.8/contextlib.py", line 679, in __aexit__
    raise exc_details[1]
  File "/usr/lib/python3.8/contextlib.py", line 189, in __aexit__
    await self.gen.athrow(typ, value, traceback)
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 1944, in report_flow_run_crashes
    yield
  File "/usr/lib/python3.8/contextlib.py", line 662, in __aexit__
    cb_suppress = await cb(*exc_details)
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 597, in __aexit__
    raise exceptions[0]
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 1402, in create_task_run_then_submit
    await submit_task_run(
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect/engine.py", line 1463, in submit_task_run
    future = await task_runner.submit(
  File "/home/msq/work/virt-envs/abyss-3.8/lib/python3.8/site-packages/prefect_ray/task_runners.py", line 172, in submit
    ray_decorator = ray.remote(**remote_options)
TypeError: remote() argument after ** must be a mapping, not FieldInfo

[ ] I would like to help contribute a pull request to resolve this!

Is there any update on this?

as ray is currently not yet supporting pydantic 2 (https://github.com/ray-project/ray/blob/dd270c86feaf3b342014f20c3f7559a6e4cb4272/python/setup.py#L256) I don't think this can be fixed in prefect-ray alone.

see https://github.com/ray-project/ray/issues/38977#issuecomment-1841862512

We've merged the changes to make Ray compatible with Pydantic 2.5+. You can start using Pydantic 2.5+ with Ray 2.9, which should be out at the end of December.
These changes should also be in the Ray nightly, so feel free to try them out!


Add CORS headers to dart-pad Firebase Hosting configuration

This copies the CORS config from the App Engine server to the Firebase Hosting configuration.
Staged: https://dartpad-experiments-2.web.app/

[x] I’ve reviewed the contributor guide and applied the relevant portions to this PR.

Contribution guidelines:

See our contributor guide for general expectations for PRs.
Larger or significant changes should be discussed in an issue before creating a PR.
Contributions to our repos should follow the Dart style guide and use dart format.
Most changes should add an entry to the changelog and may need to rev the pubspec package version.
Changes to packages require corresponding tests.

Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.

SGTM, let's do that after https://github.com/dart-lang/dart-pad/pull/2599 lands


Problems porting a related epidemiological model

I'm trying to use the examples here to port an existing high/low risk model to use AlgebraicPetri.jl. I get an error ERROR: Pullbacks of TypeSets that are not products are not supported when I try to compose the model. Can anyone spot where I'm going wrong?
using AlgebraicPetri
using Catlab
using Catlab.Graphics
using Catlab.Graphics.Graphviz
using Catlab.Graphics.Graphviz: Html
using Catlab.WiringDiagrams
using Catlab.CategoricalAlgebra
using Catlab.Programs.RelationalPrograms
using GraphViz
using LabelledArrays
using OrdinaryDiffEq
using Plots

# Functions for graphing typed Petri nets
colors = ["#a08eae","#ffeec6", "#a8dcd9", "#ffeec6", "#a8dcd9"]

function def_trans(typed_petri::ACSetTransformation, colors; labels = true)
  (p, t; pos = "") -> ("t$t", Attributes(
             :label => labels ? Html(flatten(tname(p,t))) : "" ,
             :shape=>"square",
             :color=>colors[typed_petri[:T](t)],
             :pos=>pos))
end

function def_trans(colors = colors; labels = true)
  (p, t; pos = "") -> ("t$t", Attributes(
             :label => labels ? "$(tname(p, t))" : "" ,
             :shape=>"square",
             :color=>colors[t],
             :pos=>pos))
end

flatten(tname::Symbol) = "$tname"

function flatten(tname::Tuple)
    names = split(replace(string(tname), "("=>"", ")"=>"", ":"=>""), ",")
    for i in 1:length(names)
        name = strip(names[i])
        if name[1:2] == "id"
            continue
        end
        return name
    end
    return "id"
end

def_states(p, s; pos="") = ("s$s", Attributes(
        :label => sname(p,s) isa Tuple where T ? Html(replace(string(sname(p,s)), ":"=>"", "," => "", "("=>"", ")"=>"")) : "$(sname(p,s))",
        :shape=>"circle",
        :color=>"#6C9AC3",
        :pos=>pos
))

Graph_typed(typed_petri::ACSetTransformation, colors = colors; labels = true) = Graph(dom(typed_petri),
    make_trans = def_trans(typed_petri, colors; labels = labels),
    make_states = def_states
)

### Define models

SIR = LabelledPetriNet([:S, :I, :R],
  :β => ((:S, :I)=>(:I, :I)),
  :γ => (:I=>:R),
  :∅ => (:S => :S),
  :∅ => (:I => :I),
  :∅ => (:R => :R)
)

infectious_type = LabelledPetriNet([:Pop],
  :interact=>((:Pop, :Pop)=>(:Pop, :Pop)),
  :t_disease=>(:Pop=>:Pop),
  :t_strata=>(:Pop=>:Pop)
)

## Pull out indexing from model

s, = parts(infectious_type, :S)
t_interact, t_disease, t_strata = parts(infectious_type, :T)
i_interact1, i_interact2, i_disease, i_strata = parts(infectious_type, :I)
o_interact1, o_interact2, o_disease, o_strata = parts(infectious_type, :O)

typed_SIR = ACSetTransformation(SIR, infectious_type,
  S = [s, s, s],
  T = [t_interact, t_disease, t_strata, t_strata, t_strata],
  I = [i_interact1, i_interact2, i_disease, i_strata, i_strata, i_strata],
  O = [o_interact1, o_interact2, o_disease, o_strata, o_strata, o_strata],
  Name = name -> nothing # specify the mapping for the loose ACSet transform
)

Graph_typed(typed_SIR)

risk = LabelledPetriNet([:H, :L],
    :∅ => (:H => :H),
    :∅ => (:L => :L),
    :interact => ((:H, :H) => (:H, :H)),
    :interact => ((:L, :L) => (:L, :L)),
    :interact => ((:H, :L) => (:H, :L)),
    :interact => ((:L, :H) => (:L, :H)),
)

typed_risk = ACSetTransformation(risk, infectious_type,
  S = [s, s],
  T = [t_disease, t_disease, t_interact, t_interact, t_interact, t_interact],
  I = [i_disease, i_disease, i_interact1, i_interact2, i_interact1, i_interact2, i_interact2, i_interact1, i_interact2, i_interact1],
  O = [o_disease, o_disease, o_interact1, o_interact2, o_interact1, o_interact2, o_interact2, o_interact1, o_interact2, o_interact1],
  Name = name -> nothing # specify the mapping for the loose ACSet transform
)
[i_disease, i_disease, i_interact1, i_interact2, i_interact1, i_interact2, i_interact2, i_interact1, i_interact2, i_interact1]

Graph_typed(typed_risk)

typed_stratify(typed_model1, typed_model2) =
  compose(proj1(pullback(typed_model1, typed_model2)), typed_model1)

SIR_risk = typed_stratify(typed_SIR, typed_risk)

I think the problem here is the labels. We've made some changes in AlgebraicPetri and Catlab to better support attributes. You can cast a LabelledPetriNet to a regular PetriNet with copy_parts! and then compute the corresponding pullbacks.
@kris-brown has had some new features land in Catlab v0.15 to provide better support for computing with Attributes. He can speak to a better way to do stratification with labels now.

At this instant in time, I agree with James that currently the best option is to perform stratification on unlabeled Petri Nets. When v0.15 is released it will be much more natural to stratify with attributes present!

Thanks @jpfairbanks @kris-brown,
I see how I can cast to an unlabelled Petri net; how do I go about manually specifying the stratification by pullbacks?
SIR = LabelledPetriNet([:S, :I, :R],
  :β => ((:S, :I)=>(:I, :I)),
  :γ => (:I=>:R),
  :∅ => (:S => :S),
  :∅ => (:I => :I),
  :∅ => (:R => :R)
)
SIR_unlabelled = PetriNet()
copy_parts!(SIR, SIR_unlabelled)

risk = LabelledPetriNet([:H, :L],
    :∅ => (:H => :H),
    :∅ => (:L => :L),
    :interact => ((:H, :H) => (:H, :H)),
    :interact => ((:L, :L) => (:L, :L)),
    :interact => ((:H, :L) => (:H, :L)),
    :interact => ((:L, :H) => (:L, :H)),
)
risk_unlabelled = PetriNet()
copy_parts!(risk, risk_unlabelled)

So I see now that AlgebraicPetri has added some specific code to help with this. Importantly, it only makes sense to stratify typed Petri net models, which are Petri Nets with a map into some fixed Petri Net of 'types'. E.g. infectious_ontology below says there is one type of species and three types of transitions. I attempted to adapt your example below in order to show some of the special syntax for constructing these things, but keep in mind sir, sir_refl, and res are all just LabeledPetriNet morphisms that you could have constructed manually.
using AlgebraicPetri,AlgebraicPetri.TypedPetri
using Catlab, Catlab.CategoricalAlgebra, Catlab.Programs

infectious_ontology = LabelledPetriNet(
  [:Pop],
  :infect=>((:Pop, :Pop)=>(:Pop, :Pop)),
  :disease=>(:Pop=>:Pop),
  :strata=>(:Pop=>:Pop)
)
sir_uwd = @relation () where (S::Pop, I::Pop, R::Pop) begin
    infect(S, I, I, I); disease(I, R)
end
sir = oapply_typed(infectious_ontology, sir_uwd, [:beta, :gamma]) # SIR -> Inf.Ont.
sir_refl = add_reflexives(sir, fill([:strata],3), infectious_ontology)
Graph(sir_refl |> dom) # visualize the added reflexive transitions in graphviz

risk_uwd = @relation () where (H::Pop, L::Pop) begin
    disease(H,H); disease(L,L);
    infect(H,H,H,H); infect(H,L,H,L); infect(L,H,L,H); infect(L,L,L,L)
end
risk = oapply_typed(infectious_ontology, risk_uwd, [:dh, :dl, :hh, :hl, :lh,:ll]) # HL -> Inf.Ont.
Graph(risk |> dom)

res = typed_product(sir_refl, risk)
Graph(res |> dom)

Does this help?

Hi Kris,
I ran into problems with using the AlgebraicPetri helper functions too - see https://github.com/AlgebraicJulia/AlgebraicPetri.jl/issues/152

I see where I'm going wrong in the other issue; firstly, typed_product followed by add_reflexives was giving me the full product in states (which I don't want - I was getting six transitions, and not two). Secondly, there's a function that I hadn't spotted (flatten_labels) which is needed to run the model in OrdinaryDiffEq.

 You are one of the first people trying to use stratification who didn't help develop it. We can use this example in the docs once we get it working!

Happy to play 'red team' @jpfairbanks! This seems to work, and mirror my multigroup ODE model.
using AlgebraicPetri,AlgebraicPetri.TypedPetri
using Catlab, Catlab.CategoricalAlgebra, Catlab.Programs
using OrdinaryDiffEq
using LabelledArrays
using Plots

infectious_ontology = LabelledPetriNet(
  [:Pop],
  :infect=>((:Pop, :Pop)=>(:Pop, :Pop)),
  :disease=>(:Pop=>:Pop),
  :strata=>(:Pop=>:Pop)
)

sir_uwd = @relation () where (S::Pop, I::Pop, R::Pop) begin
    infect(S, I, I, I)
    disease(I, R)
end
sir = oapply_typed(infectious_ontology, sir_uwd, [:beta, :gamma])
Graph(sir |> dom)

sir_refl = add_reflexives(sir, fill([:strata],3), infectious_ontology)
Graph(sir_refl |> dom)

risk_uwd = @relation () where (H::Pop, L::Pop) begin
    infect(H,H,H,H)
    infect(H,L,H,L)
    infect(L,H,L,H)
    infect(L,L,L,L)
    strata(H,H)
    strata(L,L)
end
risk = oapply_typed(infectious_ontology, risk_uwd, [:hh, :hl, :lh, :ll, :h, :l])
Graph(risk |> dom)

res = typed_product(sir_refl, risk)
Graph(res |> dom)

relabelled_res = flatten_labels(res |> dom)
Graph(relabelled_res)

K = 2
S = [495.0, 495.0]
I = [5.0, 5.0]
R = [0.0, 0.0]
N = [S[i]+I[i]+R[i] for i in 1:K]

β = 0.05
c = [20.0, 5.0]
pij = hcat([[c[j]*N[j]/sum([c[k]*N[k] for k in 1:K]) for j in 1:K] for i in 1:K]...)'
betas = β .* (c .* pij) ./ N
γ = 0.25

u0 = @LArray vec([S I R]')[:,1] Tuple(snames(relabelled_res))
p = @LArray [vec(betas); γ; γ] Tuple(tnames(relabelled_res))
tspan = (0.0, 40.0)

vf = vectorfield(relabelled_res)
prob = ODEProblem(vf, u0, tspan, p)
sol = solve(prob, Rosenbrock32())
plot(sol)

Nice! This is a great example.

It would be nice if the risk model didn't refer to any terms in the infectious_ontology

Yeah, it is very appealing to avoid that, but the nature of the stratification with pullbacks is that these types are important for figuring out which processes can interact. If compute a bigger model with product of untyped petri nets, it will have too many terms in it. Some interaction terms that are logically 0, will be free parameters in the product model. The typing information is the additional feature that makes this work correctly.

I was thinking more about adding the disease(H,H) and disease(L,L) terms subsequently in the UWD. When making stratifications, you don't want to think about what other transitions from other models until it actually comes to doing a pullback. Now to try to work out how to make SDEs and jump problems - Petri.jl did the dispatch for you...

I was thinking more about adding the disease(H,H) and disease(L,L) terms subsequently in the UWD. When making stratifications, you don't want to think about what other transitions from other models until it actually comes to doing a pullback.

Yes this is a fundamental problem. The terms in the stratification model depend on an understanding of the disease model that you are going to stratify. We haven't found a good way to decouple them any more than the way you do it in this example.


Problem running heroku local

forego | starting web.1 on port 5000
web.1  | [2015-11-24 13:34:33 -0600] [66619] [INFO] Starting gunicorn 19.3.0
web.1  | [2015-11-24 13:34:33 -0600] [66619] [INFO] Listening at: http://<IP_ADDRESS>:5000 (66619)
web.1  | [2015-11-24 13:34:33 -0600] [66619] [INFO] Using worker: sync
web.1  | [2015-11-24 13:34:33 -0600] [66647] [INFO] Booting worker with pid: 66647
web.1  | [2015-11-24 13:34:33 -0600] [66648] [INFO] Booting worker with pid: 66648
web.1  | [2015-11-24 13:34:33 -0600] [66649] [INFO] Booting worker with pid: 66649
web.1  | [2015-11-24 13:34:33 -0600] [66647] [ERROR] Exception in worker process:
web.1  | mxabierto/shogun/api/app.py", line 5, in
web.1  | py", line 118, in init_process
web.1  | ages/ckanapi/remoteckan.py", line 44, in init
web.1  | [2015-11-24 13:34:33 -0600] [66647] [INFO] Worker exiting (pid: 66647)
web.1  | [2015-11-24 13:34:33 -0600] [66648] [ERROR] Exception in worker process:
web.1  | mxabierto/shogun/api/app.py", line 5, in
web.1  | py", line 118, in init_process
web.1  | ages/ckanapi/remoteckan.py", line 44, in init
web.1  | [2015-11-24 13:34:33 -0600] [66648] [INFO] Worker exiting (pid: 66648)
web.1  | Traceback (most recent call last):
web.1  |     sys.exit(run())
web.1  |     WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
web.1  |   File "/Users/iorch/.pyenv/versions/2.7.10/lib/python2.7/site-packages/gunicorn/app/base.py", line 189, in run
web.1  |     super(Application, self).run()
web.1  |   File "/Users/iorch/.pyenv/versions/2.7.10/lib/python2.7/site-packages/gunicorn/app/base.py", line 72, in run
web.1  |     Arbiter(self).run()
web.1  |     self.manage_workers()
web.1  |   File "/Users/iorch/.pyenv/versions/2.7.10/lib/python2.7/site-packages/gunicorn/arbiter.py", line 477, in manage_workers
web.1  |     self.spawn_workers()
web.1  |   File "/Users/iorch/.pyenv/versions/2.7.10/lib/python2.7/site-packages/gunicorn/arbiter.py", line 541, in spawn_workers
web.1  |     time.sleep(0.1 * random.random())
web.1  |   File "/Users/iorch/.pyenv/versions/2.7.10/lib/python2.7/site-packages/gunicorn/arbiter.py", line 214, in handle_chld
web.1  |     self.reap_workers()
web.1  |   File "/Users/iorch/.pyenv/versions/2.7.10/lib/python2.7/site-packages/gunicorn/arbiter.py", line 459, in reap_workers
web.1  |     raise HaltServer(reason, self.WORKER_BOOT_ERROR)
web.1  | gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
web.1  | Exception gunicorn.errors.HaltServer: HaltServer() in <module 'threading' from '/Users/iorch/.pyenv/versions/2.7.10/lib/python2.7/threading.pyc'> ignored
web.1  | [2015-11-24 13:34:33 -0600] [66649] [ERROR] Exception in worker process:
web.1  | mxabierto/shogun/api/app.py", line 5, in
web.1  | py", line 118, in init_process
web.1  | ages/ckanapi/remoteckan.py", line 44, in init
web.1  | [2015-11-24 13:34:33 -0600] [66649] [INFO] Worker exiting (pid: 66649)

resuelto


CARBOB_SINK tokens market price speculation

It might become too expensive for normal users to neutralize CARBOB_POLUTE tokens, because speculators buy up CARBOB_SINK tokens.

To avoid market speculation: make CARBOB_SINK an NFT with an expiration date. CARBOB_SINK NFTs need to be neutralized within a time period otherwise they get burned. Also the NFT will have a reference to the CARBOB_SINK producer so that the CARBOB_NEUTRAL token that includes the token has knowledge of who has offset the carbon.


opened scrcpy , it mirrored glitchy screen

[x] I have read the FAQ.
[x] I have searched in existing issues.

Environment

OS: Windows 11
scrcpy version: 2.3.1
installation method: windows zip from release tab
device model: RMX1827
Android version: 13

Describe the bug
opened scrcpy , it mirrored this glitchy screen.
*note: I can record my screen without any issue with mobile's inbuilt recorder(but states error recording, if HEVC turned on).

scrcpy 2.3.1 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO:     -->   (usb)      SK6LHUZH8LL76HHE            device  RMX1827
D:\downloads\scrcpy-win64-v2.3.1\scrcpy-server: 1 file pushed, 0 skipped. 29.7 MB/s (66007 bytes in 0.002s)
[server] INFO: Device: [Realme] Realme RMX1827 (Android 13)
INFO: Renderer: direct3d
INFO: Texture: 720x1520

Try with another encoder: https://github.com/Genymobile/scrcpy/blob/master/doc/video.md#encoder
Or with a lower resolution (-m1024), just in case.


wip Add WORKERS_CI environment variable to wrangler interactivity check

What this PR solves / how to test
wip
Fixes BANDA-406.
Author has addressed the following

Tests

[ ] TODO (before merge)
[ ] Tests included
[ ] Tests not necessary because:

E2E Tests CI Job required? (Use "e2e" label or ask maintainer to run separately)

[ ] I don't know
[ ] Required
[ ] Not required because:

Changeset (Changeset guidelines)

[ ] TODO (before merge)
[ ] Changeset included
[ ] Changeset not necessary because:

Public documentation

[ ] TODO (before merge)
[ ] Cloudflare docs PR(s):
[ ] Documentation not necessary because:

@cmsparks is this ready to go?

Forgot about this PR, but we actually don't need it because we set CI=1 in the build environment, which is checked by the is-ci package.


ratingValue and partySize are parsed to integer

ratingValue and partySize are parsed to integer before perform API requests.
This Pull Request fixes the type of ratingValue and partySize before create/edit a reservation or create/edit a review.

yes, but parseInt usage is incorrect you need to use a second parameter which is the base, in this case 10, otherwise you may get weird errors in the future

Now radix parameter is passed to all parseInt calls.
Note that party_size has been renamed to partySize because it was changed in other sections in a previous PR. The remaining variable renames will be performed in the upcoming PR.

please can you squash the commits and then merge, in order to do so please check
http://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/Developer_Guidelines#Development_Lifecycle

We have rebased the PR in order to have only one commit.

Treatment of date modified:
Changed inputs to date and time types.
Transformed date strings to JS date objects.

Treatment of dates modified:

Changed inputs to date and time types.
Transformed date strings to JS date objects.

If you agree with the PR we can rebase it.

LGTM but please fix the nits


"final" class TransferStats is not mockable in unit tests

I was writing a unit test for a method used as the callable for the "on_stats" option, but found that I could not mock the TransferStats object to inject into the method because it is a "final" class and can't be extended.
The only workaround I can find is to instantiate a TransferStats object and use it directly, meaning that my test is no longer a unit test as it then also depends on the workings of the TransferStats class
I can't see any obvious reason why the class is final or think of any potential issues with removing the keyword. Would it be possible to remove it in order to allow for clean unit testing?

You don't really need to mock TransferStats. It's just a value object. Simply create one and inject the required arguments in the constructor.

All the same, I'd prefer not to break best practice if possible. Is there a reason why the TransferStats class is final?

Actually, TransferStats is a value object, so the best practice here is to not mock it. It's final because it's meant to be a value object that should not be extended.


*: Fix handling of group instances

As discussed for https://github.com/giantswarm/giantswarm/issues/518 I played around with a non-group slices group and failed to get it working. This PR fixes it:
core@core-01 ~ $ ls single/
single-2.service  single.service

core@core-01 ~ $ ./formicactl submit single
Succeeded to submit all slices of group 'single'.
core@core-01 ~ $ ./formicactl status single
Group  Units  FDState  FCState  SAState  IP  Machine

core@core-01 ~ $ ./formicactl status single
Group   Units  FDState  FCState  SAState   IP            Machine

single  *      loaded   loaded   inactive  <IP_ADDRESS>  99f23dbedf2f4bdd9ed9f2600b5944c3
core@core-01 ~ $ ./formicactl status single
Group   Units  FDState  FCState  SAState   IP            Machine

single  *      loaded   loaded   inactive  <IP_ADDRESS>  99f23dbedf2f4bdd9ed9f2600b5944c3
core@core-01 ~ $ ./formicactl status -v single
Group   Units             FDState  FCState  SAState   IP            Machine

single  single-2.service  loaded   loaded   inactive  <IP_ADDRESS>  99f23dbedf2f4bdd9ed9f2600b5944c3
single  single.service    loaded   loaded   inactive  <IP_ADDRESS>  99f23dbedf2f4bdd9ed9f2600b5944c3
core@core-01 ~ $ ./formicactl start single
Succeeded to start all slices of group 'single'.
core@core-01 ~ $ ./formicactl status -v single
Group   Units             FDState   FCState   SAState  IP            Machine

single  single-2.service  launched  launched  active   <IP_ADDRESS>  99f23dbedf2f4bdd9ed9f2600b5944c3
single  single.service    launched  launched  active   <IP_ADDRESS>  99f23dbedf2f4bdd9ed9f2600b5944c3
core@core-01 ~ $ ./formicactl status -v single
Group   Units             FDState   FCState   SAState  IP            Machine

single  single-2.service  launched  launched  active   <IP_ADDRESS>  99f23dbedf2f4bdd9ed9f2600b5944c3
single  single.service    launched  launched  active   <IP_ADDRESS>  99f23dbedf2f4bdd9ed9f2600b5944c3
core@core-01 ~ $ ./formicactl status single
Group   Units  FDState   FCState   SAState  IP            Machine

single  *      launched  launched  active   <IP_ADDRESS>  99f23dbedf2f4bdd9ed9f2600b5944c3
core@core-01 ~ $ ./formicactl stop single
Succeeded to stop all slices of group 'single'.
core@core-01 ~ $ ./formicactl status single
Group   Units  FDState  FCState  SAState   IP            Machine

single  *      loaded   loaded   inactive  <IP_ADDRESS>  99f23dbedf2f4bdd9ed9f2600b5944c3
core@core-01 ~ $ ./formicactl status -v single
Group   Units             FDState  FCState  SAState   IP            Machine

single  single-2.service  loaded   loaded   inactive  <IP_ADDRESS>  99f23dbedf2f4bdd9ed9f2600b5944c3
single  single.service    loaded   loaded   inactive  <IP_ADDRESS>  99f23dbedf2f4bdd9ed9f2600b5944c3
core@core-01 ~ $ ./formicactl destroy single
Succeeded to destroy all slices of group 'single'.
core@core-01 ~ $ fleetctl list-unit-files
UNIT			HASH	DSTATE		STATE		TARGET
<EMAIL_ADDRESS>fa59254	launched	launched	52f3c1e0.../<IP_ADDRESS>
<EMAIL_ADDRESS>fa59254	launched	launched	52f3c1e0.../<IP_ADDRESS>

ping @giantswarm/cena

Current coverage is 51.11%

Merging #42 into master will decrease coverage by -0.17% as of bd7d6d9

Powered by Codecov. Updated on successful CI builds.

I would like to have tests ensuring bugs are and stay fixed.

Agreed, currently writing them.

@xh3b4sd ping, added tests. Renamed error

LGTM


Transfer ownership to Zeitsperre

@huard Would you mind sending this repo my way? I want to simply rewrite this in python3 and see if there are any issues identified by @bstdenis that I can work through. Thanks!

Actually, would it be possible to simply list me as an owner? This would solve a lot of future problems.

Done
On Wed, Jun 27, 2018 at 4:39 PM Trevor James Smith<EMAIL_ADDRESS>wrote:

Actually, would it be possible to simply list me as an owner? This would
solve a lot of future problems.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Ouranosinc/pymerra2/issues/3#issuecomment-400821364,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAE9Q6vYAQ-nMfIhFBM1UZPP4TA2UnrEks5uA-1wgaJpZM4U6UL3
.


Replace rollup with esbuild

Pretty much copied from webnative, except for a few things. An important one being:
{
  "exports": {
    "./*": "./lib/*", // instead of "./lib/*.js"
  }
}

When I used *.js in webnative, it would try to use double extensions (ie. .js.js) when doing imports. I thought I'd add "./*.js": "./lib/*.js" to the exports map, but no luck, so I did the above. I guess this removes the option to do extensionless imports, but weren't bundlers moving away from that anyway?

Sigh, I don't know 😄 We'll let the ecosystem decide I guess. If all bundlers support the extension-less imports, only then we'll use that.
It doesn't seem to match on "./*.js", only "./*" (even when placed before "./*")

Totally forgot that eslint also has auto fix stuff 😫


Observable resource of coap server seems to not support a restart of an observer

Describe the bug
If I start an observer for the /obs resource, and stop it after some time and then restart an observer, the counter will be received only a single time and will be never received again in the future.
To Reproduce
Steps to reproduce the behavior:

Build the coap_server sample
Observe the resource i.e. coap get -o coap://xx.xx.xx.xx/obs
Abruptly stop the observer
Observe the resource i.e. coap get -o coap://xx.xx.xx.xx/obs
Wait and see that no counter updates are being received anymore

Expected behavior
I would expect that the coap server sending counter updates to my second observer and also performs retransmits to my first observer.
Impact
I am not able to stop an observer and restart it afterwards.

Environment (please complete the following information):

Observer: Windows
Zephyr V2.6.0

This is likely caused by a little number of "pending" messages supported by the sample. Since the observer was closed, no response  was received by the sample, effectively blocking the "pending" slots until the message expired.
I've finetuned the sample parameters in https://github.com/zephyrproject-rtos/zephyr/pull/38748, so that the issue is not hit so easily.


Fix linking errors caused by the damped_pring function

The latest commit of imspinner contains the damped_pring function, which is defined like this:
float damped_pring (double mass, double stiffness, double damping, double time, float a = PI_DIV_2, float b = PI_DIV_2) {

Since it isn't prefixed with inline, including this file into multiple .cpp files causes a multiple definition linker error like this:
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: libUntitledImGuiFramework.a(Global.cpp.o): in function `ImSpinner::damped_pring(double, double, double, double, float, float)':
Global.cpp:(.text+0x0): multiple definition of `ImSpinner::damped_pring(double, double, double, double, float, float)'; CMakeFiles/UntitledTextEditor.dir/Generated/main.cpp.o:main.cpp:(.text+0x0): first defined here

I reproduced this locally and on my CI workflows on both Windows(MSVC) and Linux(GCC).

Sure. thanks


Visual Bug of a check mark even if there are invalid inputs in the farmland name

Description
After an invalid input in the Farmland Management Page, a visual bug is marked as a check. This happens if do not input any information about the size of the farmland and proceed to save.
Overall the system still denies the invalid input for submission and this is just a  minor visual bug.

Reproduction steps

Go to Farmland Management page: https://qa-anikultura-md.herokuapp.com/admin/enroll/farmer/
Click Add
Input an invalid farmland name, for example: "&(@(!"
Input other fields except for Size (ha), ensure that it is left blank
Click Save

Expected behavior
Will not display a check mark for an invalid input in the farmland name.
Relevant log output
No response
Affected browsers (if applicable)
No response

I managed to reproduce the bug. It is a possible bug with Orchid's client-side validation. Client-side validation might need to be disabled. Needs further investigation.

I managed to fix a bug with the hectares input of the farmland edit screen. The reported visual bug cannot be solved at the moment since it is caused by the client-side validation library. The checkmark is caused by the required criteria being met in the client-side. This is indeed a cause of confusion. However, we still need to wait for a feature that allows us to set custom validation rules in the client-side so that the server-side validation rules are in sync.


[Forwardport] v2.7: Add useragent

Original PRs:
https://github.com/rancher/rancher/pull/40033
https://github.com/rancher/rancher/pull/40022
Issue:
https://github.com/rancher/rancher/issues/40021

Missing this PR in the description https://github.com/rancher/rancher/pull/39876


Fix co.tokenize docstring

Docstring incorrectly mentioned "summarization" instead of "tokenization.

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


updated property control action mutations

Is this PR still needed, or is it replaced by #56?

Replaced by #56, closing

Replaced by #56, closing


any chance we can get this working with the latest version of python and the langchain?

I have no time right now. Shouldn't be to difficult to update the packages,
fix what breaks and provide a PR?
On Mon, Nov 6, 2023 at 10:41 PM Jan Filips @.***> wrote:

—
Reply to this email directly, view it on GitHub
https://github.com/pors/langchain-chat-websockets/issues/4, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIHIMCNMWDVFMRLZGYDY43YDFDN7AVCNFSM6AAAAAA7ADPVJSVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE4DAMBSGMYDMNQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Categories Issue

@mwinkenb to provide more information here in the future.

Closing this as categories are removed in favor of new groupedOutputs.groupings


Favorites backend

closes #52

@pavelbidenko2018 , @IrynaSpyrydonova
This is how I thought: In front end we add or delete a school from array of favorites school, then we send the updated array to back end. And it overwrites. How do you think? Should I add or delete one by one?

@pavelbidenko2018 , @IrynaSpyrydonova
This is how I thought: In front end we add or delete a school from array of favorites school, then we send the updated array to back end. And it overwrites. How do you think? Should I add or delete one by one?

My point is that when we added new school it should add one to the listOfSchools, but not overwrite all of them, otherwise user will  always have one school in the list

My point is that when we added new school it should add one to the listOfSchools, but not overwrite all of them, otherwise user will  always have one school in the list

To my opinion it sounds quite logical:

if the list of favourite schools is already exists in database, we fetch it to the client's array object, work with it. for example delete an item and than sends the list back to the DB
if not - all work will be provided on the client and the result Array object would be sent on the server

To my opinion it sounds quite logical:

if the list of favourite schools is already exists in database, we fetch it to the client's array object, work with it. for example delete an item and than sends the list back to the DB
if not - all work will be provided on the client and the result Array object would be sent on the server


reconsider crate names

We're now not an unopinionated binding, but doing a load of stuff (esp with generic cowns).
Also it's confusing that we have verona-rt both being a rust crate and a cpp project.
Maybe boxcars and boxcars-sys, although unclear if we need a seperate sys layer

boc is apparently free!


Custom Aliases / Macros?

Description
Add the feature of defining custom aliases / macros for symbols, and being able to reuse the configuration.
Use Case
I'm not sure if this violates the philosophy of typst, and I'm really new here. But the naming of symbols frustrates me.
In LaTeX I'm used to define aliases for various symbols to improve readability. (For example, if you mean "the boundary of A" you probably don't want \partial A. I would \def\boundary{\partial} and use \boundary A instead.) This also provides a way to add shorthands (I almost always \def\eps{\varepsilon}, which saves a lot of typing.)
I don't see any way to do the similar things in typst. If there is, please tell me.

Does this do what you want to achieve?
#let eps = sym.epsilon
#let boundary = sym.diff

$ eps $
$ boundary A $

Yes, thanks!

This unfortunately does not work if I have many subfiles which I import from. For example, if you have a separate file for Introduction, Methods, Proofs etc. Then, if you include each subfile in the main document, the aliases do not work in each subfile. Is there a way I can define my aliases in one place such that for every subfile of a project it remains active?

Not easily, I think, you'd have to create a new file where you define the alias and then include that file in all your subfiles.


Add PageSpeed Module

Out of the box OpenLiteSpeed builds don't include the PageSpeed module. Need to add a step during the Docker image build to also build the PageSpeed module.

https://openlitespeed.org/kb/openlitespeed-pagespeed-module/

After attempting to build the module it appears that the PSOL(PageSpeed Optimization Library) source that is trying to be used to build the module isn't compatible with arm64.
./psol/include/third_party/chromium/src/build/build_config.h:124:2: error: #error Please add support for your architecture in build/build_config.h

There appears to be an outstanding request(https://github.com/apache/incubator-pagespeed-ngx/issues/1213) for arm64 support for the Nginx module. I'm not sure if the PSOL that is being downloaded by OpenLiteSpeed is related to the Nginx issue or not. It is still not clear what code base the OLS module is based on, Apache ot Nginx. The details on the Google Developers site basically ends up linking to the Apache module source. There is likewise an very old open issue(https://github.com/apache/incubator-pagespeed-mod/issues/187) for the Apache module related to not being able to compile it on arm.

Comments from LiteSpeedTech via Slack indicate that they don't have plans to support the PageSpeed module on arm64 even in an official capacity. There was mention that this module may not really be used with OLS anymore. I'm closing this issue and will re-open if there is significant request and if the PageSpeed module code is actually updated to support arm64.


auto update import paths does not work

hi im using macvim with plugin coc.nvim and NERDTree.
when i move a node with NERDTree Options for moving files, my imports doesn't update. and i should manually update them with COCSearch. I tried to move file without using nerdtree,but still this option doesn't work for me, i dont know why. Is it a problem with macvim?
there is my CocCofing :
    {
       "eslint.autoFixOnSave": true,
       "eslint.filetypes": [
         "javascript",
         "javascriptreact",
          "typescript",
          "typescriptreact"
        ],
        "prettier.disableSuccessMessage": true,
        "suggest.noselect": false,
        "diagnostic.messageDelay": 100,
        "diagnostic.refreshOnInsertMode": true,
        "typescript.updateImportsOnFileMove.enable": true
     }

It requires watchman to detect file changes, read readme.

I have the same issue and watchman is installed and in my path. is there some kind of additional config required?


update: beautify the scroll bar

Fixes  #726
Changes proposed in this pull request: beautify the scroll bar.

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

@Lizhooh  Thx for sending PR, I think a better idea is to move it to here so we can have scroll bars in react version of playground too. It will automatically move to electron version too :) I will merge it then asap

@Lizhooh Please, can you move it?

I will close it in 2 days because it blocks other stuff if you don't move it.

Closing in favor of #789


Unit testing via Gulp

Setup unit testing in Gulp file.

It looks like the original code was using Jasmine.

Work complete. 17 out of 17 test completing.


[DatePicker] Read only static calendar displaying availabilities

Hi!
Is there a way to implement a Static read-only calendar displaying available dates like for the booking system when you review an apartment and its availability with Material UI pickers?
I have tried to use StaticDatePicker & shouldDisableDate & renderDay:
      <StaticDatePicker
        displayStaticWrapperAs="desktop"
        openTo="date"
        value={value}
        loading={highlightedDays === null}
        onChange={(newValue) => setValue(newValue)}
        // loading
        renderInput={(props) => <TextField {...props} />}
        renderLoading={() => <CalendarSkeleton />}
        renderDay={(day, val, DayComponentProps) => {
          console.log(day.day());
          const isSelected = highlightedDays.includes(day.day());

          return (
            <Badge
              key={day.toString()}
              overlap="circle"
              badgeContent={isSelected ? "🌚" : undefined}
            >
              <PickersDay {...DayComponentProps} disabled />
            </Badge>
          );
        }}
      />

However, it still allows picking some date from that calendar...I would like it to be read-only, showing what dates are prohibited and what available.
[EDIT] I partially managed to do it by passing disabled to PickersDay - not sure if this is the best way?
Example:

Hey @oliviertassinari @nasaabg I am new to this repo and would like to contribute by resolving this issue. Can I have a try to do it if I have background in React App Development?

@oliviertassinari okay cool thanks for the opportunity, I'll work on it and get back to you once I am done resolving the issue.

@YosephKS thanks, lmk if you need more details

Do we have any update here?

Do we have any update here?


Fix distributed example code document

Current distributed document of example code is invalid. Simply fix it.

Can one of the admins verify this patch?

I signed it!

@tensorflow-jenkins test this please

Merged. Thanks, @itsarbit


Code not matching paper

Hi,
There are a things that are not matching with whats written on the paper. Hope you could help me understand?
1.) Instead of concatenation, you have subtracted the two vectors for the first step in function def m()--->line 30. You have provided a correction on line 31 but its commented. Any reason?
2.)In line 37, the vector B should be reshaped to 2*Ds+Dr as given in the paper. Any reason for the modification?
3.)Why the modification in line 59??
4.)why the modification in line 66?. Why is there a 2 added while reshaping. In the paper, its Ds+Dx+De
5.)While normalizing, why have you indexed at the number of body index. i.e train_data[: , 0 , :]--->line 166
Same happens with other values till line 177. Isnt the normalization supposed to happen on the third index? i.e train_data[: , : , 0] ???
6.) Why is the value of X matrix all zeros. isn't there gravitational forces acting on the bodies??
Hope to hear from you soon.
Thanks in advance

Hi,
First of all, sorry for late response.
I will reply your questions as soon as possible after re-checking my code on my side, because I forgot somethings on there, which was implemented in last year.
I remember I changed somethings (maybe m() concat. to diff.) on during of validating my code with my own data generator.
However, I remember I was not changing not too many things. anyway I will catch-up your ones, and reply answer for those questions.
Thank you for your attention on my repo.
Best Regards, Jaesik Yoon.

1.) Instead of concatenation, you have subtracted the two vectors for the first step in function def m()--->line 30. You have provided a correction on line 31 but its commented. Any reason?
-> I remember diff. showed better performance than concat. Actually for gravity experiment, core information is how far from each other, thus I tried to use diff.
2.)In line 37, the vector B should be reshaped to 2*Ds+Dr as given in the paper. Any reason for the modification?
-> not using concat but diff, thus 2*Ds -> Ds
3.)Why the modification in line 59??
-> that is also for getting better performance, on prediction or inference state, mass or location don't affect to performance, thus cuted those dimension on there.
4.)why the modification in line 66?. Why is there a 2 added while reshaping. In the paper, its Ds+Dx+De
-> just using x and y vel. not total Ds, thus Ds -> 2
5.)While normalizing, why have you indexed at the number of body index. i.e train_data[: , 0 , :]--->line 166
Same happens with other values till line 177. Isnt the normalization supposed to happen on the third index? i.e train_data[: , : , 0] ???
-> which is not normalization with body index, middle index is one of Ds.
in 166, train_data[:,0,:] means mass values normalization on total objs.
6.) Why is the value of X matrix all zeros. isn't there gravitational forces acting on the bodies??
-> yes just naiive n-body experiment not with external force.


Hotfix/api improvements

Merge of API improvements to master
Added new price oracle enpoints and review swagger documentation
Fix some CLI commands showing inconsistent information
Marke Docker image smaller

Pull Request Test Coverage Report for Build 1411

42 of 85 (49.41%)  changed or added relevant lines in 7 files are covered.
59 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.6%) to 45.917%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/services/DxInfoService/DxInfoService.js
4
23
17.39%

src/repositories/DxPriceOracleRepo/DxPriceOracleRepoImpl.js
11
35
31.43%

Files with Coverage Reduction
New Missed Lines
%

src/services/DxInfoService/DxInfoService.js
1
45.57%

src/repositories/PriceRepo/feeds/PriceRepoKraken.js
58
15.56%

Totals

Change from base Build 1383:
-0.6%

Covered Lines:
1949

Relevant Lines:
3941

💛  - Coveralls


improve the nav section - contact , feedback + improve content , link not working

changes

I want to improve the nav section the link is not active also the content of two
I like to contribute the project
can u assign an issue to me

label

Could you please add the "level"  label, "Hacktoberfest-accepted" label and "gssoc-ext" label to the issue .

This will ensure my contributions are counted towards Hacktoberfest.

screenshots
need to change

@Web-Dev-Learner start working on it

Thank you for assigning me as a contributor to the Project. I'm excited to start contributing and help improve the project.
Best regards,
Shrinedhi.M.R

hey @GarimaSingh0109 is this issue is not solve yet can you assign this to me i can do my best and done work ASAP so we can discuss more issues

if this issue is open can i work on it


android:foregroundServiceType=""  while building with eas

Build/Submit details page URL
https://expo.dev/accounts/mullersq/projects/notifee-test/builds/b3cd3d57-0609-4219-9843-d4f9be639e7c
Summary
When I build with EAS, some values for android:foregroundServiceType are deleted (microphone, camera), and I have android:foregroundServiceType="" in manifest instead of android:foregroundServiceType="microphone" while building with Android Studio.
Minimal exemple: https://github.com/FurankuSQ/notifee-test-eas
Managed or bare?
Bare
Environment
expo-env-info 1.2.0 environment info:
System:
OS: Linux 6.8 Ubuntu 22.04.4 LTS 22.04.4 LTS (Jammy Jellyfish)
Shell: 5.1.16 - /bin/bash
Binaries:
Node: 18.17.0 - ~/.nvm/versions/node/v18.17.0/bin/node
Yarn: 1.22.21 - /usr/local/bin/yarn
npm: 10.8.2 - ~/.nvm/versions/node/v18.17.0/bin/npm
SDKs:
Android SDK:
API Levels: 33, 34
Build Tools: 30.0.2, 33.0.1, 34.0.0
System Images: android-34 | Google APIs Intel x86_64 Atom, android-35 | Google Play Experimental 16k Page Size Intel x86_64 Atom
npmPackages:
expo: ~51.0.28 => 51.0.32
expo-router: ~3.5.23 => 3.5.23
react: 18.2.0 => 18.2.0
react-dom: 18.2.0 => 18.2.0
react-native: 0.74.5 => 0.74.5
react-native-web: ~0.19.10 => 0.19.12
npmGlobalPackages:
eas-cli: 12.3.0
expo-cli: 6.3.10
Expo Workflow: bare
Error output
No response
Reproducible demo or steps to reproduce from a blank project
https://github.com/FurankuSQ/notifee-test-eas
eas build --profile development --platform android
Manifest:

some values for android:foregroundServiceType are deleted (microphone, camera)

Hi, I don't see an Android manifest in your example repo. What do you by are deleted? When does it happen? Can you explain your flow in more detail, please?

I’ve been working with a plugin that adds the permission android:foregroundServiceType="microphone". When I build using EAS (either locally or in the cloud) and examine the APK’s manifest (using APKtool extraction or Android Studio) on Ubuntu, I notice that android:foregroundServiceType="" appears instead. However, when I inspect the same APK’s manifest on an iMac, the android:foregroundServiceType="microphone" value is correctly present.
The strangest part is that if I build the APK using Android Studio, I see android:foregroundServiceType="microphone" even when checking the manifest on Ubuntu. This suggests that it’s a bug related to the display or retrieval of the value, not its actual presence in the APK.


Change secondary button style

Currently:

Preferred:

In particular, the border and text color and underline the text.


Latest available version from NodeBB Plugins ACP outdated

Hi,
in NodeBB ACP - NodeBB version v1.18.6 - the latest available version is 0.0.9.

I see Latest 0.0.13 now, maybe nbbpm update took a while

I still continue to see 0.0.9 as the latest version available

What do you see when you go to https://packages.nodebb.org/api/v1/suggest?package=nodebb-plugin-glossary&version=1.18.6

Can you check your package.json to see if nodebb-plugin-glossary is there? What is the value set to?

[...]
"nodebb-plugin-2factor": "^2.9.7",
"nodebb-plugin-composer-default": "7.0.14",
"nodebb-plugin-custom-pages": "^1.3.1",
"nodebb-plugin-customize": "^2.0.4",
"nodebb-plugin-dbsearch": "5.1.0",
"nodebb-plugin-emoji": "^3.5.4",
"nodebb-plugin-emoji-android": "2.0.5",
"nodebb-plugin-emoji-fontawesome": "^2.0.5",
"nodebb-plugin-extended-markdown": "^1.5.0",
"nodebb-plugin-glossary": "0.0.9",
"nodebb-plugin-google-analytics": "^0.6.1",
"nodebb-plugin-markdown": "8.14.4",
"nodebb-plugin-mentions": "3.0.2",
"nodebb-plugin-question-and-answer": "^0.12.10",
"nodebb-plugin-recent-cards": "^2.0.19",
"nodebb-plugin-reputation-rules": "^1.2.3",
"nodebb-plugin-soundpack-default": "^2.0.0",
"nodebb-plugin-spam-be-gone": "0.7.11",
"nodebb-plugin-tenor-gif": "^1.2.8",
"nodebb-plugin-youtube-embed": "^0.6.9",
[...]

Can you try changing it to "^0.0.9" in package.json and then restart nodebb? See if that shows the latest 0.0.13 in the ACP.

It worked :+1:
Thank you!!!


Turbo can't be disabled for links with method: post/delete

I've seen a few issues hovering around this issue (https://github.com/hotwired/turbo-rails/issues/31, https://github.com/hotwired/turbo/issues/45, https://github.com/hotwired/turbo/issues/74). But it seems that disabling turbo is not respected for links with non-GET methods.
I'm attempting to do the following:
link_to "Log Out", destroy_user_session_path, method: :delete, data: { turbo: false }

and the request is always processed as TURBO_STREAM:
Started DELETE "/users/sign_out" for ::1 at 2021-06-18 13:25:48 -0400
Processing by Users::SessionsController#destroy as TURBO_STREAM

If I use button_to instead of link_to, the disabling of turbo works properly.
Versions:

Ruby Gems:

rails (<IP_ADDRESS>)
turbo-rails (0.5.9)

NPMs:

@hotwired/turbo-rails: 7.0.0-beta.5
@rails/ujs: 6.1.3

The team added support for links and POST|PUT|PATCH|DELETE in v7.0.0-beta.6
see: https://github.com/hotwired/turbo/releases/tag/v7.0.0-beta.6

@efatsi did the new release fixed this for you?
In my case, it does work, but it's still processing the delete as turbo_stream. Which caused my flash message to disappear (it redirects twice).

I pulled down 7.0.0-beta.6 and it looks like the rails server is still processing the actions as TURBO_STREAM.

@efatsi did the new release fixed this for you?
In my case, it does work, but it's still processing the delete as turbo_stream. Which caused my flash message to disappear (it redirects twice).

For me just forcing redirect to html format in sessions controller, like below:
# app/controllers/users/sessions_controller.rb

def destroy
    signed_out = (Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name))
    set_flash_message! :notice, :signed_out if signed_out
    yield if block_given?
    respond_to_on_destroy
end

private

def respond_to_on_destroy
    respond_to do |format|
	format.all { redirect_to root_path(format: :html) }
    end
end

I am also facing the same issue, I wish to turn off turbo for my omniauth buttons and currently they are not working.
%a.btn.btn-outline-facebook.w-100.mt-2{ href: user_facebook_omniauth_authorize_path,
                                                        data: { method: :post,
                                                                turbo: 'false' }

I am on -
❯ bundle info turbo-rails
  * turbo-rails (0.6.0)

❯ yarn list @hotwired/turbo
└─<EMAIL_ADDRESS>

I have seen other threads pointing out that you should use button_to with data-turbo="false" for form tag.
However, as it has been pointed out they are semantically different. Moreover, with button_to you cannot use font-awesome icons on your button's text.
Please let us know how can we workaround this, or if there is a fix coming soon.

Using 7.0.0-beta.6: My sign-out link  for devise is working with the data-turbo-method but its reponse is via TUBRO_STREAM and the following redirection is misguided by keeping the DELETE method.
<%= link_to "Logout", destroy_user_session_path, method: "DELETE", data: {"turbo-method": "DELETE"}%>
log:
Started DELETE "/users/sign_out?locale=en" for <IP_ADDRESS> at 2021-08-30 21:12:59 +0200
Processing by Devise::SessionsController#destroy as TURBO_STREAM
  Parameters: {"locale"=>"en"}
  User Load (0.4ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2  [["id", 2], ["LIMIT", 1]]
Redirected to http://localhost:3000/?locale=en
Completed 302 Found in 5ms (ActiveRecord: 0.4ms | Allocations: 1858)

Started DELETE "/?locale=en" for <IP_ADDRESS> at 2021-08-30 21:12:59 +0200

ActionController::RoutingError (No route matches [DELETE] "/"):

@fabianzwodrei - I think this is an issue with Devise and XHR requests, and creates problems with Turbo since it uses XHR.  Similar issue reported on Stack **Overflow.
I believe this is because devise does not include status in redirect_to wi the session destroy (DELETE) action?
see: ActionController::Redirecting

If you are using XHR requests other than GET or POST and redirecting after the request then some browsers will follow the redirect using the original request method. This may lead to undesirable behavior such as a double DELETE. To work around this you can return a 303 See Other status code which will be followed using a GET request.

redirect_to posts_url, status: :see_other
redirect_to action: 'index', status: 303

I'm not sure any changes to turbo would solve this.
I think your options are:

Use button_to (instead of link_to).  This works since button_to creates a POST request (instead of DELETE) with params[:_method] = 'DELETE'.
Configure devise sign out via GET with link_to (config.sign_out_via = :get)
MonkeyPatch Devise controller to include status in redirect_to

Thanks @tleish !
I tried the button_to and  a form (incl the turbo method) method, but the problem was the same.
Your suggestion to change the devise configuration to use a GET for sign_out was the most elegant solution for me right now.

Also running into this and was quite confused what was happening/why it was still sending as a TURBO_STREAM despite having disabled turbo both at my link level and higher up.

@afomera - From what I have observed, ujs creates a brand-new form element when you click a link with data-method and submits the form. Since the form element isn't created with data-turbo="false" it will submit via Turbo and result in a fetch request.

<%= button_to "Delete", url, method: :delete, class: 'button med-button', "data-turbo": false %>
This code works for me, though if I change it to a link_to or remove the data-turbo line it doesnt redirect. Just data-turbo = false or just button_to doesnt work either, it has to be both. And for whatever reason I can't figure out, it was somehow ending up at my show method for pages instead of redirecting to the page I specified. I dont understand why it just ignores redirects. Doesn't even get in to the desired controller action.

It's work for me 100%
<%= link_to "Logout", destroy_user_session_path, method: "DELETE", data: { "turbo-method": "DELETE" } %>

I'd imagine a few people will get caught out with Rails 7 like myself, clear explanation in the docs  here.

turbo attempts to submit forms although it can be easily disabled by wrapping form
avoid using <%= link_to %> for anything other than get requests
use <%= button_to %> for post requests

    <form>
       Enabled if needed
   </form>

I'd imagine a few people will get caught out with Rails 7 like myself, clear explanation in the docs here.

turbo attempts to submit forms although it can be easily disabled by wrapping form
avoid using <%= link_to %> for anything other than get requests
use <%= button_to %> for post requests

    <form>
       Enabled if needed
   </form>

Same goes for all other non get requests (i.e. patch, delete)

I'd imagine a few people will get caught out with Rails 7 like myself, clear explanation in the docs here.

turbo attempts to submit forms although it can be easily disabled by wrapping form
avoid using <%= link_to %> for anything other than get requests
use <%= button_to %> for post requests

    <form>
       Enabled if needed
   </form>

Cool to see some helpful advice, but in my case it doesn't seem too easy to avoid link_to for my button.
I'm using a tailwindcss styled link_to button with an SVG inside. When I change link_to to button_to I get something that doesn't work:
<input type="submit" value="<svg..."...

Also setting turbo-method: "DELETE" doesn't work for me, because the requested format is still TURBO_STREAM.
I would like to be able to use turbo/hotwire for live deleting elements from pages like index, but when deleting an object using a button on the show page I would like to do a redirect, because the show page is obsolete after deleting the object.

OMG I was thinking too complicated. If you want to change the request type you just have to add .html to the end of the request. Or more sophisticated:
# instead of:
link_to "Delete", object, method: :delete
# do
link_to "Delete", polymorphic_path(object, format: :html), method: :delete

Just adding this comment here since it could help others migrating to Turbo and keeping UJS working together.
The link_to "Link", method: :delete helper will create a form behind the scenes with UJS using this code and the form element won't have any data attributes passed down from the link element so adding data: { turbo: false } won't help and the form will essentially be submitted twice, once via turbo and another via html.
We found a really good alternative to keep the existing behavior of UJS without having to change anything else:
Turbo.setFormMode("optin");

By doing this all forms will need to add data-turbo=true in order to be handled by Turbo. This was added by: https://github.com/hotwired/turbo/pull/419 and can be used with on or off as well.
NOTE: I've tried using button_to "Button", method: :delete, data: { turbo: false } but it will render a form element and that won't work when nested inside another form element and could be very tricky to identify those cases when there are multiple leves of partials being nested.

Have we considered duplicating the data-turbo attributes from the link to the form?
Something similar to this in rails-ujs.js

        var dataTurbo = e.target.attributes["data-turbo"]

        if (dataTurbo != undefined ) {
          form.setAttribute("data-turbo", dataTurbo)
        }


roll back Ziti Py SDK in webhook sender action

There's a problem with this revision.
Building wheels for collected packages: openziti
  Building wheel for openziti (setup.py): started
  Building wheel for openziti (setup.py): finished with status 'done'
  Created wheel for openziti: filename=openziti-0.8.1-cp310-cp310-linux_x86_64.whl size=2784709 sha256=ddd1a07a76e9850c91d6bf95f00242cf91ef55764b53c8847295524e26606153
  Stored in directory: /home/runner/.cache/pip/wheels/1f/c2/1d/16beb219cf8728c6982e7ee5d09f5ed7a915f171e28033a434
Successfully built openziti
Installing collected packages: openziti, charset-normalizer, requests
Successfully installed charset-normalizer-3.3.2 openziti-0.8.1 requests-2.32.3
/home/runner/work/_temp/340f8d91-6621-4821-9c8b-a79df9a7ab87.sh: line 2:  1824 Segmentation fault      (core dumped) python ./zhook.py


build: add spec.strategy.resources to all DeploymentConfig objects

Context
This enables deploying ST4SD in namespaces which contain ResourceQuota objects with "hard rules" for resources (e.g. cpu, ram, etc). The ResourceQuota object rejects any pod without resource limits. The spec.strategy.resources field causes the DeploymentConfig object to spawn pods with a spec.resource field.
Fixes #4
Change list
Write a few bullet points of the changes contained in this PR:
-st4sd-deployment uses DeploymentConfig objects which come with a configurable spec.strategy.resources field.

The default value is {"limits": {"cpu": "250m", "256Mi"}}
The field is configurable via the helm chart option resources.resourcesDeploymentConfigStrategy.{name of deployment config object}

Checklist
Ensure your PR meets the following requirements:

[x] This PR is associated to one (or more) issues that are open
[x] I have signed off my commits (using git commit -s)
[x] I agree with the ST4SD Code of Conduct

Merged in https://github.com/st4sd/st4sd-deployment/commit/33f7ce40b9cbb09a8d5798b56764bba73f528a95


add article about high availability for OpenSearch

What changed, and why it matters
New article, explains what happens when a node fails in an OpenSearch cluster. Similar to the existing HA articles for Redis and Postgres
works locally :)

thank you @dewan-ahmed , fixed your 2nd point!
As for the 1st, I'm just staying consisten what we say in other HA article (Posrtgres, Redis). I think we say "limited availability" because we do try to replace broken nodes. So the service is available, but not highly available, which is still better than on-premise setup where a manual intervention is required to replace a broken node.


fix for KAFKA-3645

https://issues.apache.org/jira/browse/KAFKA-3645
I have a feature branch for doing SASL/Kerberos and this bug crept up.  Here is a solution for this bug until 0.10.1 comes out.

Also, can you add a test for the new behavior?
It looks like Travis didn't run CI on this pull request. This issue should be fixed now when you push again.


⚠ Secret Website 3 has degraded performance

In 52ce5c7, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 29091 ms

Resolved: Secret Website 3 performance has improved in 2a226de.


cpu-time limits for queries

we should support cpu-time based limits on queries, similarly to how memory limits work.
This should go in ClusterMemoryManager.process() and work similarly to how the memory limit is enforced. You can get the total CPU time for the query from QueryExecution.getQueryInfo().getQueryStats(), but you may want to add a method to get it directly from a QueryExecution similar to getTotalMemoryReservation()

I'll be working on this one


Adding multiple custom chains

Hey @peetzweg, thanks for creating this awesome extension!
I was wondering how I can expand the number of custom networks beyond the single custom and local RPC field that appear in settings? It'd be awesome if I could add the Ethereum and Arbitrum Goerli networks for example, and also have the UI/UX display the corresponding Etherscan links on mouse-over. Maybe inserting the relevant Etherscan domain could be a feature in the settings?
Thank you.

Thanks @brucey0x, appreciate the feedback. Glad you find this extension also useful.
Fully agree that this would be nice. By now there are so many new relevant evm compatible chains that there is this need for adding more chains.
Happy to add this. Any idea how you would like to set this up in vscode? Are you using this custom rpc settings or just the hardcoded ones?
    "cryptoAddressLens.custom.rpc": "http://localhost:8545",
    "cryptoAddressLens.custom.enabled": false

I could either add more chains in this hardcoded fashion but it's not very customizable and future proof.
Opening it up a bit would be more future proof but error prone to configure for each user.
Will revisit it probably this week.
https://code.visualstudio.com/api/references/contribution-points#Configuration-property-schema

@brucey0x just released v1.1.0 which offers more flexibility regarding configuration of rpcs and block explorers. You can now specify an arbitrary amount of rpcs and block explorers with these two configuration properties cryptoAddressLens.rpcs and cryptoAddressLens.explorers.
See this section of the README.md to see the current defaults and how to add more:
https://github.com/peetzweg/vscode-crypto-address-lens#configuration