Add ArtemisJmsRABuildItem

It could fix #580 partly, and we still need to consider how to do the health check in quarkus-artemis-ra.

@vsevel can you check this fix with your project?

I now get:
$ curl localhost:9000/q/health/ready
        {
            "name": "Artemis JMS Resource Adaptor health check",
            "status": "UP",
            "data": {
                "<default>": "UP"
            }
        }

deps:
$ ls -al target/quarkus-app/lib/main | grep -E "artemis|iron"
-rw-r--r-- 1 Sevel 1049089   22029 Aug  2 11:51 io.quarkiverse.artemis.quarkus-artemis-core-999-SNAPSHOT.jar
-rw-r--r-- 1 Sevel 1049089   11146 Aug  2 11:51 io.quarkiverse.artemis.quarkus-artemis-jms-ra-999-SNAPSHOT.jar
-rw-r--r-- 1 Sevel 1049089   53855 Aug  2 11:51 io.quarkiverse.ironjacamar.quarkus-ironjacamar-1.3.2.jar
-rw-r--r-- 1 Sevel 1049089  676595 Aug  2 08:44 org.apache.activemq.artemis-commons-2.36.0.jar
-rw-r--r-- 1 Sevel 1049089  829150 Aug  2 08:44 org.apache.activemq.artemis-core-client-2.36.0.jar
-rw-r--r-- 1 Sevel 1049089   21552 Aug  2 08:44 org.apache.activemq.artemis-hqclient-protocol-2.36.0.jar
-rw-r--r-- 1 Sevel 1049089  187781 Aug  2 08:44 org.apache.activemq.artemis-jakarta-client-2.36.0.jar
-rw-r--r-- 1 Sevel 1049089  160114 Aug  2 08:44 org.apache.activemq.artemis-jakarta-ra-2.36.0.jar
-rw-r--r-- 1 Sevel 1049089   33311 Aug  2 08:44 org.apache.activemq.artemis-jakarta-service-extensions-2.36.0.jar
-rw-r--r-- 1 Sevel 1049089  112139 Aug  2 08:44 org.apache.activemq.artemis-selector-2.36.0.jar
-rw-r--r-- 1 Sevel 1049089  103566 Apr 30 10:56 org.jboss.ironjacamar.ironjacamar-common-api-3.0.9.Final.jar
-rw-r--r-- 1 Sevel 1049089   57849 Apr 30 10:56 org.jboss.ironjacamar.ironjacamar-core-api-3.0.9.Final.jar
-rw-r--r-- 1 Sevel 1049089  502175 Apr 30 10:56 org.jboss.ironjacamar.ironjacamar-core-impl-3.0.9.Final.jar

seems everything is working nicely. what would you say that it only partially fixes the issue @zhfeng ? what would be still missing? some additional checks we could do in the artemis RA?
I am surprised with the impl of:
    public HealthCheckResponse call() {
        HealthCheckResponseBuilder builder = HealthCheckResponse.named("Artemis JMS Resource Adaptor health check").up();
        for (String name : connectionFactoryNames) {
            Annotation identifier = ArtemisUtil.toIdentifier(name);
            try (Connection ignored = connectionFactories.select(identifier).get().createConnection()) {
                builder.withData(name, "UP");
            } catch (Exception e) {
                builder.withData(name, "DOWN").down();
            }
        }
        return builder.build();
    }

do you want the status to be always UP?
or should the status be DOWN as soon as at least one connection factory is down?

Thanks @vsevel - that's great to hear it is working!
I mean partially fix when only introducing the ArtemisJmsRABuildItem. Now I think we almost get to fix the issue :)
@turing85 what do you think about the status? I just bowrrow your codes from the quarkus-artemis-jms.
If all of the connection factories are DOWN, the status should be DOWN?

If all of the connection factories are DOWN, the status should be DOWN?

it is a vast subject. in the company, we decided to disable most of the health checks, and extended them to map them onto @Wellness, then tie those to our alerting system.
and by default we even disabled the readiness probes for all of our apps. we have never seen a good reason to pull a single pod out of the pool.
so I actually understand that you would keep a status UP, even if a connection factory was DOWN, specifically if tied to the readiness probe.
to me the proper way would be to have a check per connection factory, all tied to wellness.
this should not be a startup check because it does not prevent the app from starting, and work partially. it should not be readiness because it does not prevent the app from working partially, and it should not be liveness because a restart is not going to magically solve the loss of connectivity.
this is particularly true with the ra that has some resiliency built it (the app can start without connectivity, and it will later connect if available. and if loss of connectivity happens while the app is running, it will be able to reconnect as soon as the broker is available again).
my 2 cents.

I now get:
$ curl localhost:9000/q/health/ready
        {
            "name": "Artemis JMS Resource Adaptor health check",
            "status": "UP",
            "data": {
                "<default>": "UP"
            }
        }

deps:
$ ls -al target/quarkus-app/lib/main | grep -E "artemis|iron"
-rw-r--r-- 1 Sevel 1049089   22029 Aug  2 11:51 io.quarkiverse.artemis.quarkus-artemis-core-999-SNAPSHOT.jar
-rw-r--r-- 1 Sevel 1049089   11146 Aug  2 11:51 io.quarkiverse.artemis.quarkus-artemis-jms-ra-999-SNAPSHOT.jar
-rw-r--r-- 1 Sevel 1049089   53855 Aug  2 11:51 io.quarkiverse.ironjacamar.quarkus-ironjacamar-1.3.2.jar
-rw-r--r-- 1 Sevel 1049089  676595 Aug  2 08:44 org.apache.activemq.artemis-commons-2.36.0.jar
-rw-r--r-- 1 Sevel 1049089  829150 Aug  2 08:44 org.apache.activemq.artemis-core-client-2.36.0.jar
-rw-r--r-- 1 Sevel 1049089   21552 Aug  2 08:44 org.apache.activemq.artemis-hqclient-protocol-2.36.0.jar
-rw-r--r-- 1 Sevel 1049089  187781 Aug  2 08:44 org.apache.activemq.artemis-jakarta-client-2.36.0.jar
-rw-r--r-- 1 Sevel 1049089  160114 Aug  2 08:44 org.apache.activemq.artemis-jakarta-ra-2.36.0.jar
-rw-r--r-- 1 Sevel 1049089   33311 Aug  2 08:44 org.apache.activemq.artemis-jakarta-service-extensions-2.36.0.jar
-rw-r--r-- 1 Sevel 1049089  112139 Aug  2 08:44 org.apache.activemq.artemis-selector-2.36.0.jar
-rw-r--r-- 1 Sevel 1049089  103566 Apr 30 10:56 org.jboss.ironjacamar.ironjacamar-common-api-3.0.9.Final.jar
-rw-r--r-- 1 Sevel 1049089   57849 Apr 30 10:56 org.jboss.ironjacamar.ironjacamar-core-api-3.0.9.Final.jar
-rw-r--r-- 1 Sevel 1049089  502175 Apr 30 10:56 org.jboss.ironjacamar.ironjacamar-core-impl-3.0.9.Final.jar

seems everything is working nicely. what would you say that it only partially fixes the issue @zhfeng ? what would be still missing? some additional checks we could do in the artemis RA? I am surprised with the impl of:
    public HealthCheckResponse call() {
        HealthCheckResponseBuilder builder = HealthCheckResponse.named("Artemis JMS Resource Adaptor health check").up();
        for (String name : connectionFactoryNames) {
            Annotation identifier = ArtemisUtil.toIdentifier(name);
            try (Connection ignored = connectionFactories.select(identifier).get().createConnection()) {
                builder.withData(name, "UP");
            } catch (Exception e) {
                builder.withData(name, "DOWN").down();
            }
        }
        return builder.build();
    }

do you want the status to be always UP? or should the status be DOWN as soon as at least one connection factory is down?

The check is not always up. The call to down() "downs" the complete check, not the data-item.
Calling
builder.withData(name, "DOWN").down();

is the same as calling
builder.withData(name, "DOWN");
builder.down();

yes you are right @turing85 I missed it.
so if one connection is down, the whole check is down.
that is one possible behavior, consistent with others I have seen, even if I don't think this is the proper way of doing this. but this is a more general discussion. so I am fine with it.

@vsevel Believe me, I am on your side on this one. I triggered a discussion about this a while back. Don't remember where though. Either zulip or the mailing list.

So... is this MR ready4merge?

I triggered a discussion about this a while back

me too ;-)
https://groups.google.com/g/quarkus-dev/c/pj6L7kzbIno/m/B4RXJcupBwAJ

So... is this MR ready4merge?

I think so. still not clear whether or not the initial issue is completely fixed.
@zhfeng what do you mean with Now I think we almost get to fix the issue :)?

Yeah, I think it is good to merge. @turing85 feel free to go ahead!
Thanks all for reviwing and @gastaldi for the quick release of quarkus-ironjacamar.


Avoid justification being part of the commit

Remove the justification from the commit, as the valuable thing for the stake slash/reward is the choice.
This will make the UX better, as after avoiding the salt (see #184), the only requirement is to remember the choice. Justification can be just emitted in the reveal phase without being part of the commit.

See my comment about the UX #184 , we essentially already implement a similar scheme but the signature is used only to derive a salt off-chain, so there are no ecrecover calls.

The justification did not receive enough attention in the design of v1, but it plays an important role in the arbitration process, especially when comparing Kleros to traditional justice. It was added in v2 here: https://github.com/kleros/kleros-v2/commit/2947180052bf744bd084f786d311c6dbc0c9e106
When commit/reveal is enabled, we don't want to a juror to be able to come up with a justification after seeing what other jurors has said.
Given #184 I am not entirely sure how UX is affected on the frontend.

Depends on #184 so closing for now.
We will revisit this if we encounter UX issues. Thanks again @donosonaumczuk !


update jck playlist to add JCK10 specific test buckets

update jck playlist to add JCK10 specific test buckets
update Dockerfile to to use default keyboard layout
update docker readme to make it more readable

Signed-off-by: Tianyu Zuo<EMAIL_ADDRESS>

@ShelleyLambert Could you do a post review? I will merge this PR, so it does not block other tasks. If update is need, we can address it in another PR. Thanks.


Failing to build on MacOS Mojave.

System:
Mac OS Mojave 10.14.6 (18G103)
2.5 GHz Intel Core i7
I tried to use the release version - [terrain3d_0.8-alpha_gd4.1_osx_arm.zip] but got errors for mismatching architecture (mine is x86_64) so decided to build from source. I immediately ran into this scons error with or without specifying the platform:
$ scons platform=macos
scons: Reading SConscript files ...
Auto-detected 8 CPU cores available for build parallelism. Using 7 cores by default. You can override it with the -j argument.
Building for architecture universal on platform macos
scons: done reading SConscript files.
scons: Building targets ...
clang++ -o godot-cpp/src/godot.macos.template_debug.universal.o -c -std=c++17 -arch x86_64 -arch arm64 -O2 -DDEBUG_ENABLED -DDEBUG_METHODS_ENABLED -Igodot-cpp/gdextension -Igodot-cpp/include -Igodot-cpp/gen/include -Igodot-cpp/src godot-cpp/src/godot.cpp
clang++ -o godot-cpp/src/classes/editor_plugin.macos.template_debug.universal.o -c -std=c++17 -arch x86_64 -arch arm64 -O2 -DDEBUG_ENABLED -DDEBUG_METHODS_ENABLED -Igodot-cpp/gdextension -Igodot-cpp/include -Igodot-cpp/gen/include -Igodot-cpp/src godot-cpp/src/classes/editor_plugin.cpp
clang++ -o godot-cpp/src/classes/low_level.macos.template_debug.universal.o -c -std=c++17 -arch x86_64 -arch arm64 -O2 -DDEBUG_ENABLED -DDEBUG_METHODS_ENABLED -Igodot-cpp/gdextension -Igodot-cpp/include -Igodot-cpp/gen/include -Igodot-cpp/src godot-cpp/src/classes/low_level.cpp
....
....
....
In file included from godot-cpp/include/godot_cpp/variant/vector2.hpp:35:
godot-cpp/include/godot_cpp/core/math.hpp:569:9: error: call to 'abs' is
      ambiguous
        return std::abs(x);
               ^~~~~~~~
godot-cpp/include/godot_cpp/variant/vector2i.hpp:122:47: note: in instantiation
      of function template specialization 'godot::Math::abs<int>' requested here
        Vector2i abs() const { return Vector2i(Math::abs(x), Math::abs(y)); }
... and the rest of the stack trace ...

Sure thing. Thanks for clarifying.
Closing this issue to investigate godot-cpp setup for Terrain3D build.

Also make sure you're on the appropriate version of godot-cpp. If you're building off of master that may be broken, while the version you actually want (eg. 4.1-stable) might build. Make sure you read the whole building from source page I linked.

I'm experimenting with using Github's CI to build macos. The Github docker is an x64 system however observing the build command line I noticed it has keywords like ..._debug.universal.o ... -arch x86_64 -arch arm64, which makes me think these binaries might work on both M1 and x64 architectures. Can I get some testers? Please download this and see if it works and let me know which architecture you have.
Download the artifact here:
https://github.com/TokisanGames/Terrain3D/actions/runs/6006513391


Right click variable assignment no longer working

In the past I've been able to right click the selected text in the response area and assign it to a predefined variable. With the last update it's gone and now I am seeing the default popup with the following items: "Copy", "Lookup in dictionary" etc...
OS X 10.10.1
Chrome 40.0.2214.91 (64-bit)
Postman packaged v 1.0.6

Same here. Just noticed it today.
Setting global values manually in "Manage environments" does not seem to work either.

Not sure what happened...the code hasn't changed, and a simple rebuild works fine.
We'll push a fix of sorts in the next release.
@ammar What problem are you having setting global values? You need to press "Back" after making changes for the values to be saved.

Yes, I am using the environment feature a lot.  I am expecting this will be fixed and released soon.
Thanks.

@abhijitkane Sorry, you are correct. I did not click the "Back" button.  So there's a workaround at least.
The only thing that changed, as far as I can tell, is the Chrome version. It is "40.0.2214.91 (64-bit)" now. Same OS and POSTMan versions.
Thanks!

Same here. Just noticed it. Bummed!

@paulsperanza Do the "Set global/Set environment" menu items not appear after a restart either?

No
Paul Speranza

On Jan 24, 2015, at 1:23 PM, Abhijit Kane<EMAIL_ADDRESS>wrote:
@paulsperanza Do the "Set global/Set environment" menu items not appear after a restart either?
—
Reply to this email directly or view it on GitHub.

On my machine, the menu items appear on restart, and disappear only after I send a request. @shamasis

@paulsperanza @ammar @mymuss As a temporary solution, you can run this in your console to re-enable the menus:
pm.envManager.get("globals").trigger("change");
We don't know why this happening, though. Will keep this thread updated.

@abhijitkane, running that in the console works and it helps a lot.
Out of curiosity I downgraded Chrome, back to version "39.0.2171.95 (64-bit)", and the menus showed up and worked as expected. I hope that helps narrow things down a bit.
Thanks for a great tool!

Yes same here. I get the env menu until I do a request.
Paul Speranza

On Jan 24, 2015, at 1:31 PM, Abhijit Kane<EMAIL_ADDRESS>wrote:
On my machine, the menu items appear on restart, and disappear only after I send a request. @shamasis
—
Reply to this email directly or view it on GitHub.

Hi,
same here,
how to you get console for the postman window?

Follow the steps at http://blog.getpostman.com/index.php/2014/01/27/enabling-chrome-developer-tools-inside-postman/
Right click > Inspect element
We've just pushed a fix. If you have version 1.0.7 (you can check by going to chrome://extensions/, you shouldn't be facing the issue)

Hi,
Working here, Thanks! :)

That fixed it for me. Thanks!
Date: Sun, 25 Jan 2015 05:04:11 -0800
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>CC<EMAIL_ADDRESS>Subject: Re: [POSTMan-Chrome-Extension] Right click variable assignment no longer working (#889)
Follow the steps at http://blog.getpostman.com/index.php/2014/01/27/enabling-chrome-developer-tools-inside-postman/
Right click > Inspect element
We've just pushed a fix. If you have version 1.0.7 (you can check by going to chrome://extensions/, you shouldn't be facing the issue)
—
Reply to this email directly or view it on GitHub.
	 	   		  =


Delete dependency of native modules that aren't needed before shipping

There are packages that are necessary for rebuilding native modules but aren't needed during runtime (e.g. node-addon-api). We can delete them after building the native modules but before shipping.

Doesn't that make them dev dependencies?

No. Native modules are rebuilt for the current platform during npm install. Packages like our system-format needs to include napi.h, which is provided by the package "nan". As a result, nan is a "dependency" of the "system-format", even though it won't be used any further after building the binary.

With this work mostly complete, I'm seeing the following stats:

Stats (Windows only)
1.18.1
1.33.0-dev
Change

Total Files
17,943
2,900
-84%

JavaScript Files
9,172
248
-98%

Size (MB, not incl. allocation)
449.2
354.7
-21%


[Persistence] Fix Persistence Module TODOs - Refactor persistence/genesis.go

Objective
A general cleanup issue is needed to tackle TODO's and ensure the persistence module is usable/readable by refactoring persistence/genesis.go as part of https://github.com/pokt-network/pocket/issues/172.
Origin Document
Should follow issue-#128, issue-#105, issue-#147 and issue-#148 the persistence module is messier and more difficult to understand than the developers would want for organic external contribution.
Goals / Deliverables

[ ]  Use generics to simplify the code in persistence/genesis.go as discussed in this thread:

General issue checklist

[ ] Update the appropriate CHANGELOG
[ ] Update the README
[ ] If applicable, update the source code tree explanation
[ ] If applicable, add or update a state, sequence or flowchart diagram using mermaid
[ ] Update any relevant global documentation & references
[ ] Document small issues / TODOs along the way

Creator: @andrewnguyen22
Co-creator: @Olshansk

Outdated


A few changes to API for better Wrapped component support

This is a continuation of #470.

Added Formsy.propTypes to API documentation
Moved innerRef section in docs to match location on table of contents
Change HOC to Wrapper to be consistent with naming throughout the repo
The mixin version of Formsy allowed you to set a default value via defaultProps. This change will essentially hoist your component's defaultProps.value (if it exists) to Formsy.Wrapper to maintain this functionality.
Add optional parameter to setValue() to disable validation. default: setValue(value), new: setValue(value, false) will prevent validation. This was possible with the mixin version of Formsy because the state was mixed into your input component.
(You could do this.setState({ _value: .. });)
Update prepublish script to wipe /lib. Better to start the build folder clean!

Thanks for this. I started testing the beta branch this morning. I'll open a PR with a few tweaks of my own and let you review, then if all is good we can publish v1

Awesome, sounds good @aesopwolf!


README example not compiling

This example doesn't compile with neither rust 1.61 (stable) nor rust 1.63 (nightly) as it contains a mistake. Line use curve25519_dalek::scalar::Scalar; must be replaced with use curve25519_dalek_ng::scalar::Scalar; for example to build correctly.
Also, extern crate statements are obsolete since rust 2018 edition and could be safely removed as README suggests using rust nightly which supports 2021 edition

Need to switch to curve25519_dalek_ng.

@trchopan why is that required today? I also bumped into this issue and then found that<EMAIL_ADDRESS>which appeared to be compatible with curve25519_dalek. But Als did not like jumping back that far.


[Bug]: Shutdown problem when we use ADAG

Your current environment
PyTorch version: 2.4.0+cu121
Is debug build: False
CUDA used to build PyTorch: 12.1
ROCM used to build PyTorch: N/A

OS: Ubuntu 22.04.2 LTS (x86_64)
GCC version: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Clang version: Could not collect
CMake version: version 3.30.2
Libc version: glibc-2.35

Python version: 3.11.9 (main, Apr 19 2024, 16:48:06) [GCC 11.2.0] (64-bit runtime)
Python platform: Linux-6.2.0-37-generic-x86_64-with-glibc2.35
Is CUDA available: True
CUDA runtime version: 12.2.128
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration:
GPU 0: NVIDIA RTX A6000
GPU 1: NVIDIA RTX A6000
GPU 2: NVIDIA RTX A6000
GPU 3: NVIDIA RTX A6000

Nvidia driver version: 530.30.02
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:                       x86_64
CPU op-mode(s):                     32-bit, 64-bit
Address sizes:                      48 bits physical, 48 bits virtual
Byte Order:                         Little Endian
CPU(s):                             64
On-line CPU(s) list:                0-63
Vendor ID:                          AuthenticAMD
Model name:                         AMD Ryzen Threadripper PRO 5975WX 32-Cores
CPU family:                         25
Model:                              8
Thread(s) per core:                 2
Core(s) per socket:                 32
Socket(s):                          1
Stepping:                           2
Frequency boost:                    enabled
CPU max MHz:                        7006.6401
CPU min MHz:                        1800.0000
BogoMIPS:                           7187.11
Flags:                              fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 invpcid_single hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd amd_ppin brs arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm
Virtualization:                     AMD-V
L1d cache:                          1 MiB (32 instances)
L1i cache:                          1 MiB (32 instances)
L2 cache:                           16 MiB (32 instances)
L3 cache:                           128 MiB (4 instances)
NUMA node(s):                       1
NUMA node0 CPU(s):                  0-63
Vulnerability Gather data sampling: Not affected
Vulnerability Itlb multihit:        Not affected
Vulnerability L1tf:                 Not affected
Vulnerability Mds:                  Not affected
Vulnerability Meltdown:             Not affected
Vulnerability Mmio stale data:      Not affected
Vulnerability Retbleed:             Not affected
Vulnerability Spec rstack overflow: Mitigation; safe RET, no microcode
Vulnerability Spec store bypass:    Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:           Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:           Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP always-on, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:                Not affected
Vulnerability Tsx async abort:      Not affected

Versions of relevant libraries:
[pip3] numpy==1.26.4
[pip3] nvidia-cublas-cu12==<IP_ADDRESS>
[pip3] nvidia-cuda-cupti-cu12==12.1.105
[pip3] nvidia-cuda-nvrtc-cu12==12.1.105
[pip3] nvidia-cuda-runtime-cu12==12.1.105
[pip3] nvidia-cudnn-cu12==<IP_ADDRESS>
[pip3] nvidia-cufft-cu12==<IP_ADDRESS>
[pip3] nvidia-curand-cu12==<IP_ADDRESS>
[pip3] nvidia-cusolver-cu12==<IP_ADDRESS>
[pip3] nvidia-cusparse-cu12==<IP_ADDRESS>
[pip3] nvidia-ml-py==12.560.30
[pip3] nvidia-nccl-cu12==2.20.5
[pip3] nvidia-nvjitlink-cu12==12.6.20
[pip3] nvidia-nvtx-cu12==12.1.105
[pip3] pyzmq==26.2.0
[pip3] torch==2.4.0
[pip3] torchvision==0.19.0
[pip3] transformers==4.44.1
[pip3] triton==3.0.0
[conda] numpy                     1.26.4                   pypi_0    pypi
[conda] nvidia-cublas-cu12        <IP_ADDRESS>                 pypi_0    pypi
[conda] nvidia-cuda-cupti-cu12    12.1.105                 pypi_0    pypi
[conda] nvidia-cuda-nvrtc-cu12    12.1.105                 pypi_0    pypi
[conda] nvidia-cuda-runtime-cu12  12.1.105                 pypi_0    pypi
[conda] nvidia-cudnn-cu12         <IP_ADDRESS>                 pypi_0    pypi
[conda] nvidia-cufft-cu12         <IP_ADDRESS>                pypi_0    pypi
[conda] nvidia-curand-cu12        <IP_ADDRESS>               pypi_0    pypi
[conda] nvidia-cusolver-cu12      <IP_ADDRESS>               pypi_0    pypi
[conda] nvidia-cusparse-cu12      <IP_ADDRESS>               pypi_0    pypi
[conda] nvidia-ml-py              12.560.30                pypi_0    pypi
[conda] nvidia-nccl-cu12          2.20.5                   pypi_0    pypi
[conda] nvidia-nvjitlink-cu12     12.6.20                  pypi_0    pypi
[conda] nvidia-nvtx-cu12          12.1.105                 pypi_0    pypi
[conda] pyzmq                     26.2.0                   pypi_0    pypi
[conda] torch                     2.4.0                    pypi_0    pypi
[conda] torchvision               0.19.0                   pypi_0    pypi
[conda] transformers              4.44.1                   pypi_0    pypi
[conda] triton                    3.0.0                    pypi_0    pypi
ROCM Version: Could not collect
Neuron SDK Version: N/A
vLLM Version: 0.5.5@09c7792610ada9f88bbf87d32b472dd44bf23cc2
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; Neuron: Disabled
GPU Topology:
GPU0    GPU1    GPU2    GPU3    CPU Affinity    NUMA Affinity
GPU0     X      SYS     SYS     NV4     0-63            N/A
GPU1    SYS      X      NV4     SYS     0-63            N/A
GPU2    SYS     NV4      X      SYS     0-63            N/A
GPU3    NV4     SYS     SYS      X      0-63            N/A

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

🐛 Describe the bug
When executor shutdown it will has the problem.
The reason is the interpreter is during shutdown so can not import module and the module imported previously is None
(RayWorkerWrapper pid=1706125) INFO 09-03 12:01:38 custom_all_reduce.py:223] Registering 2275 cuda graph addresses
(RayWorkerWrapper pid=1706125) INFO 09-03 12:01:38 model_runner.py:1300] Graph capturing finished in 13 secs.
Exception ignored in: <function LLMEngine.__del__ at 0x7f2ff66af060>
Traceback (most recent call last):
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/site-packages/vllm/engine/llm_engine.py", line 492, in __del__
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/site-packages/vllm/executor/ray_gpu_executor.py", line 72, in shutdown
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/site-packages/ray/dag/compiled_dag_node.py", line 1707, in teardown
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/site-packages/ray/dag/compiled_dag_node.py", line 1505, in teardown
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/logging/__init__.py", line 1489, in info
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/logging/__init__.py", line 1634, in _log
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/logging/__init__.py", line 1644, in handle
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/logging/__init__.py", line 1706, in callHandlers
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/logging/__init__.py", line 978, in handle
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/site-packages/ray/_private/log.py", line 52, in emit
ImportError: sys.meta_path is None, Python is likely shutting down
Exception ignored in: <function RayGPUExecutor.__del__ at 0x7f30b3ac05e0>
Traceback (most recent call last):
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/site-packages/vllm/executor/ray_gpu_executor.py", line 484, in __del__
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/site-packages/vllm/executor/ray_gpu_executor.py", line 72, in shutdown
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/site-packages/ray/dag/compiled_dag_node.py", line 1707, in teardown
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/site-packages/ray/dag/compiled_dag_node.py", line 1502, in teardown
  File "/home/zhilong/miniconda3/envs/vllm/lib/python3.11/site-packages/ray/dag/compiled_dag_node.py", line 1472, in wait_teardown
AttributeError: 'NoneType' object has no attribute 'GetTimeoutError'"

Reproduce script
export DISTRIBUTED_EXECUTOR_BACKEND=ray
export VLLM_USE_RAY_SPMD_WORKER=1
export VLLM_USE_RAY_COMPILED_DAG=1
import time
from vllm import LLM, SamplingParams

# Set the tensor parallelism size
tensor_parallelism_size = 2

# Initialize the model
model_path = "/home/models/Llama-2-7b-hf"
llm = LLM(model=model_path, tensor_parallel_size=tensor_parallelism_size,distributed_executor_backend="ray")

# Define the batch of prompts
prompts = [
    "Once upon a time, in a land far, far away,",
    "The quick brown fox jumps over the lazy dog.",
    "In the midst of the dense forest, a lonely wolf howled at the moon.",
    "To be, or not to be, that is the question.",
    "Artificial intelligence is transforming the world."
]

# Set sampling parameters
sampling_params = SamplingParams(max_tokens=50, temperature=0.7)

# Warm-up the model with a simple inference
warmup_prompt = ["Warm-up prompt"]
llm.generate(warmup_prompt, sampling_params)

# Measure inference time
start_time = time.time()

# Perform batch inference
outputs = llm.generate(prompts*100, sampling_params)

# Calculate the number of tokens generated
total_tokens = sum(len(completion.token_ids) for output in outputs for completion in output.outputs)

# Calculate the total time taken for inference
total_time = time.time() - start_time

# Calculate tokens per second
tokens_per_second = total_tokens / total_time

print(f"Total tokens generated: {total_tokens}")
print(f"Total time taken (seconds): {total_time:.4f}")
print(f"Tokens per second: {tokens_per_second:.2f}")

Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

we will address this issue soon!

Thanks fix! just closed!


Mainnet + slightly smoother text

In the dance of life, where all is fleeting,
Find the still point, the heart's quiet meeting.
Sankhara-dukkha, the cage of the known,
Wisdom's light can make the unseen shown.
Breathe in, breathe out, in the silence sit,
Watch the play of life, as the pieces fit.
In the daily hustle, the highs and lows,
See the conditioned dance, as the river flows.
Cultivate kindness, let compassion grow,
In the heart's garden, let these seeds sow.
Sabbe dhamma anatta, the Buddha's voice,
In the dance of not-self, we have a choice.
Equanimity, the vast and open sea,
Holds all with grace, in tranquility.
Not indifference, but a spacious mind,
In the heart of suffering, may we kindness find.
Upekkha shines, unshakeable and bright,
Guiding us gently, through the darkest night.
In wisdom and compassion may we dwell,
In the dance of life, may all be well.
In the heart of suffering, a lotus blooms,
In the silence, wisdom quietly looms.
Practice dear friend, with all your might,
In the dance of life, be the shining light.

Hello Andy,
I authorised it...
do I need to do anything on my end?
busy until tomorrow,
Marlon
On Tue, Sep 26, 2023 at 7:23 PM vercel[bot] @.***>
wrote:

The latest updates on your projects. Learn more about Vercel for Git ↗
https://vercel.link/github-learn-more
Name Status Preview Comments Updated (UTC)
satiai 🔄 Building (Inspect
https://vercel.com/marlonbarrios/satiai/FPiR58boCSEkRuphN44vm1LFG4Kp) Visit
Preview
https://vercel.live/open-feedback/satiai-git-fork-andytudhope-smooth-marlonbarrios.vercel.app?via=pr-comment-visit-preview-link&passThrough=1 💬
Add feedback
https://vercel.live/open-feedback/satiai-git-fork-andytudhope-smooth-marlonbarrios.vercel.app?via=pr-comment-feedback-link Sep
26, 2023 5:23pm
—
Reply to this email directly, view it on GitHub
https://github.com/marlonbarrios/satiai/pull/6#issuecomment-1735973633,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVQKOHLWJ7VM6YWXEHMVWLLX4MFSHANCNFSM6AAAAAA5H762XE
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
*Marlon Barrios Solano *
Art+Technology+Embodiment+Cognition | Generative AI | Web3 | WebDev |
Synthetic Creative Networked Mindful
Portfolio https://marlonbarrios.github.io/
Sati-ai.app
MotionDAO http://motiondao.art/
GitHub https://github.com/marlonbarrios| LinkedIn
https://www.linkedin.com/in/marlon-barrios-solano-98599b205/
===================================
Any information or proposals contained within or documents attached should
be considered confidential and may not be duplicated, distributed or
forwarded without prior written permission.


Keep track of active flow with green lines

MSAM can monitor systems that have redundancy features.  This request is for MSAM to keep track of which path is the active one so that a user can understand which components of their workflow are on the air. The visualization of such is a simply green line through the active components.

Will need to use https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/mediapackage.html?highlight=mediapackage

After some thought, I'd like us to consider making this an extension of the event/alert receipt on the front-end and try to extend the concept of overlays to connection decoration/overlay as well. We have context on the pipeline # being affected by an alert, and we can judge whether to change the display of a node to degraded or failed, so I hope we can carry that forward to connection display also.

For MediaLive channel and multiplex connections, assume all inputs/outputs are normal (green) until alerts come through, and set affected connections back to black for those with active pipeline alerts.

@JimTharioAmazon @morjoan
https://github.com/awslabs/aws-media-services-application-mapper/pull/142


Scrum 2463 adding missing packages to xml_processing image

I forgot to add some packages to the xml_processing image. They are needed to install some python requirements (e.g., psycopg2-binary)


SW-4716 Improve monitoring plot placement tests

In preparation for changing how monitoring plot allocation works such that plots
are no longer generated all at once at site creation time, add a new test that
checks that a site imported from a given set of shapefiles will result in an
observation whose monitoring plots obey the plot selection rules.
To further verify the existing plot creation behavior, add tests to confirm that
the existing shapefile import code creates the correct number of monitoring plots;
previously there was no test coverage for that part of the import process.

Current dependencies on/for this PR:

main

PR #1635   👈

This stack of pull requests is managed by Graphite.


Fix scoring + ranking

[x] Fix scoring calculation for dislikable traits
[x] Add 2020 ranking as score tie breaker

Already tested successfully on both python + heroku!

This is working good. Thanks LG for fixing the bug. I am merging it.


ng serve --aot subsequent watches result in EOENT of ngFactory file

Bug Report
- [x] bug report -> please search issues before submitting
- [ ] feature request

When running ng serve with --aot, subsequent outputs will break occasionally with the following, likely due to ngFactory files being regenerated and being accessed during that time frame.
This may be connected to #11217 since the result is the same EOENT, however it seems that this is one is not connected to aot.
Area
- [x] devkit
- [ ] schematics

Versions
Angular CLI: 6.0.8 (tested upgrade to v6.1.0-rc.0, same issue)
Node: 8.11.1 (npm: 6.1.0)
OS: linux x64 (Ubuntu 18.04)
Angular: 6.0.0
... animations, cdk, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.0
@angular-devkit/build-angular     0.6.0
@angular-devkit/build-optimizer   0.6.0
@angular-devkit/core              0.6.0
@angular-devkit/schematics        0.6.8
@angular/cli                      6.0.8
@ngtools/webpack                  6.0.0
@schematics/angular               0.6.8
@schematics/update                0.6.8
rxjs                              6.1.0
typescript                        2.7.2
webpack                           4.12.0

Repro steps
git clone https://github.com/opf/openproject --branch dev --depth 1
cd openproject/frontend
npm i
npm run serve (alias to ng serve --aot with npm prehook)

# And then simply touch one file multiple times
# When running these steps, the second touch resulted in the error
touch src/app/globals/openproject.ts

The log given by the failure
> ng serve

** Angular Live Development Server is listening on localhost: 4200, open your browser on http://localhost:4200/ **
 10% building modules 3/3 modules 0 active[HPM] Proxy created: [ '/**' ]  ->  http://localhost:3000

Date: 2018-06-27T05:56:55.145Z
Hash: 64f61328b7635bd68864
Time: 19890ms
chunk {main} main.js, main.js.map (main) 3.79 MB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 223 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 5.4 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 57.6 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 6 MB [initial] [rendered]
ℹ ｢wdm｣: Compiled successfully.
ℹ ｢wdm｣: Compiling...

Date: 2018-06-27T05:57:22.594Z - Hash: 03871495b16f20982ecc - Time: 10849ms
4 unchanged chunks
chunk {main} main.js, main.js.map (main) 3.89 MB [initial] [rendered]
ℹ ｢wdm｣: Compiled successfully.

#
# ... after updating any file
#

ℹ ｢wdm｣: Compiling...
/tmp/openproject/frontend/node_modules/@angular-devkit/build-angular/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:101
			throw e;
			^

Error: ENOENT: no such file or directory, stat '/tmp/openproject/frontend/src/app/globals/augmenting/modal-wrapper.augment.service.ngfactory.js'
    at Object.fs.statSync (fs.js:948:11)
    at Object.statSync (/tmp/openproject/frontend/node_modules/graceful-fs/polyfills.js:297:22)
    at Storage.provideSync (/tmp/openproject/frontend/node_modules/@angular-devkit/build-angular/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:98:13)
    at CachedInputFileSystem.statSync (/tmp/openproject/frontend/node_modules/@angular-devkit/build-angular/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:251:28)
    at VirtualFileSystemDecorator.statSync (/tmp/openproject/frontend/node_modules/@ngtools/webpack/src/virtual_file_system_decorator.js:54:48)
    at virtualFilesStats._virtualInputFileSystem.getVirtualFilesPaths.map (/tmp/openproject/frontend/node_modules/@ngtools/webpack/src/virtual_file_system_decorator.js:103:54)
    at Array.map (<anonymous>)
    at newCallback (/tmp/openproject/frontend/node_modules/@ngtools/webpack/src/virtual_file_system_decorator.js:101:18)
    at Watchpack.watcher.once (/tmp/openproject/frontend/node_modules/webpack/lib/node/NodeWatchFileSystem.js:54:4)
    at Object.onceWrapper (events.js:317:30)
    at emitTwo (events.js:126:13)
    at Watchpack.emit (events.js:214:7)
    at Watchpack._onTimeout (/tmp/openproject/frontend/node_modules/watchpack/lib/watchpack.js:144:7)
    at ontimeout (timers.js:482:11)
    at tryOnTimeout (timers.js:317:5)
    at Timer.listOnTimeout (timers.js:277:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>serve: `ng serve`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>serve script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/oliver/.npm/_logs/2018-06-27T05_57_24_488Z-debug.log

Desired functionality
We're running ng serve with AOT due to a strict CSP even during development. Apart from these undeterministic, yet persistent errors, serving with AOT runs fine and is a breeze (thanks for all your work making this possible!)
Mention any other details that might be useful
This occurs in the isolated Angular frontend of our Rails/angular hybrid project management project OpenProject. Thus I believe the best way to reproduce is simply cloning the whole project and running the steps above. No dependencies on Ruby/Rails need to be installed to reproduce it.

After some further searching, I stumbled upon these two issues in the NativeScript trackers:
https://github.com/NativeScript/nativescript-dev-webpack/pull/574
https://github.com/NativeScript/nativescript-dev-webpack/issues/566
And that's where it hit me. We still use a require.context('./components/', true, /^((?!\.(test|spec)).)*\.(js|ts|html)$/); from our ngUpgrade phase while upgrading to Angular.  To quote from the one issue:

Calling require.context for the app directory adds a ContextDependency in webpack for it. That causes every change inside the app/ directory to emit a change event for the whole directory.
There's a logic in the TypeScript compiler host (from @ngtools/webpack) that invalidates all files in the changed directory. The invalidation removes all cached information for the virtual files produced by the
Angular AoT compilation (ngfactory  files, etc.). Since these files are not in the cache anymore, webpack tries to resolve them from the filesystem and fails. The solution is to remove the ContextDependency
for the app dir, which should also make the rebuilds much faster.

Removing the require.context appears to work fine.

i've got this issue and removing require.context calls doesn't help. removed webpack-hot-loader's require.context call even

@nickbullock I just started running into this as well on aot builds. Did you find a solution?

@kspearrin no, i didn't. In my case aot build compiles first time successfully and throw this error on recompilations. So we use jit for development and aot for production, but aot recompilations still doesn't work.

@nickbullock I re-opened this issue here: https://github.com/angular/angular-cli/issues/12260


Segfault in the new generator branch in a release build

The examples in the generator branch now segfault on my machine if they are built with the release flag.
➜  examples git:(racer) cargo run --bin triangle --release
    Finished release [optimized] target(s) in 0.07s
     Running `/home/maik/projects/ash/target/release/triangle`
fish: “cargo run --bin triangle --rele…” terminated by signal SIGILL (Illegal instruction)

Can anyone reproduce this?

Okay I tracked the issue down to two things. It only segfaults with the current nightly and it seems to be related to winit. Also the winit version in the examples is a few version behind, it might be worth updating.

I just updated the examples to 0.16 but it still segaults. I tried to run some winit examples and they all segfault for me too, so it doesn't seem to be related to ash.

Probably caused by erlepereira/x11-rs#90. That lib is triggering undefined behavior which causes an illegal instruction to be generated. And unfortunately fixing this is... complicated: erlepereira/x11-rs#91, rust-lang/rust#52960


Can we have parallel chunk uploading? [Feature]

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem? Please describe.
I'm uploading videos to s3 bucket from laravel. Using FilePond JQuery version. It has same uploading speed when I do without chunk and when I do with chunking.
Describe the solution you'd like
If we are using chunking it's much better to start parallel chunking just like we have parallel uploading for multiple files. it will make uploading speed much faster.
Describe alternatives you've considered
There is already a pull request where this guy created a parallel chunking but it's on a old version please make this feature available. Will help a lot of people.
https://github.com/pqina/filepond/pull/876

i've resolved the conflict for my PR, now all that remains is to understand if they will merge


RSS生成的atom.xml乱码问题

Expected behavior (预期行为)

Actual behavior (实际行为)

Steps to reproduce the behavior (重现步骤)
NexT Informations
Add the  ✔  sign before an item which is affected by this behavior.
NexT Version:

Master
Latest Release ✔
Old version

NexT Scheme:

All schemes
Muse
Mist
Pisces ✔

Other Informations (Like Browser, System, Screenshots)
这是编码问题，我安装了feed插件。配置文件夹中rss: /atom.xml 或者留空也都是这样的情况。

#1000.


Two polygons that only touch result in overlaps=True

Expected behavior and actual behavior.
Expected: When the intersection of two valid polygons is LineString they:

only touch (i.e. they only share a portion of their boundaries)
do not overlap (from the documentation: "the intersection of the interiors of the two geometries has the same dimension as the geometries themselves")
their DE9IM relate pattern should be FF2F11212 (most importantly I think, the intersection of their interiors, i.e. the first character, should be F since their interiors do not intersect)

Actual: for a "real world" case with two valid polygons, I observe the following:

poly1.intersection(poly2) results in a LineString
however, poly1.overlaps(poly2) results in True (this is counter to the definition of shapely.overlaps)
and, their relate pattern is 212101212 (which would be expected when the interiors of two polygons intersect)

Steps to reproduce the problem.
In [5]: from shapely.geometry import Polygon

In [6]: p1 = Polygon([(-97.88355640266877, 42.26242144815486), (-97.88351421300851, 42.26105541926469), (-97.88119267246086, 42.2596
   ...:<PHONE_NUMBER>), (-97.87871403518437, 42.25971189293162), (-97.87382658140008, 42.259686055606096), (-97.87383933904984, 42.2603
   ...:<PHONE_NUMBER>), (-97.8738375, 42.2603993), (-97.8738295, 42.2603781), (-97.8738289158011, 42.2603770214789), (-97.8738321, 42.2
   ...: 603759), (-97.8738333, 42.2603786), (-97.8738348, 42.2603783), (-97.8738325, 42.2603756), (-97.8738181, 42.2603603), (-97.87
   ...:<PHONE_NUMBER>27, 42.25621759856307), (-97.87630570202417, 42.25608512363692), (-97.87630644368413, 42.25609363221611), (-97.883
   ...:<PHONE_NUMBER>, 42.25608090836759), (-97.8834778, 42.2561611), (-97.8835366, 42.260245), (-97.88355640266877, 42.26242144815486)
   ...: ])

In [7]: p2 = Polygon([(-97.88353286716398, 42.2633115653508), (-97.8779018, 42.263341), (-97.87660201506891, 42.26333569570357), (-9
   ...: 7.87646231535889, 42.26326442451469), (-97.87613051358257, 42.26309360389611), (-97.87587006407468, 42.26292762531651), (-97
   ...: .87544089734315, 42.26271588315267), (-97.87517063119081, 42.26256685217098), (-97.87411990527927, 42.261820339725375), (-97
   ...: .87405341924661, 42.26176261869835), (-97.87386149116635, 42.261209663205605), (-97.87385920166167, 42.2604861136907), (-97.
   ...:<PHONE_NUMBER>267, 42.26047317529611), (-97.87515440396658, 42.26047317508802), (-97.87515440630008, 42.26047317452106), (-97.87
   ...:<PHONE_NUMBER>87, 42.26047317361842), (-97.87515441027486, 42.260473172416965), (-97.87515442223854, 42.26047316286359), (-97.87
   ...:<PHONE_NUMBER>46, 42.2604731614124), (-97.87515442477188, 42.26047315977074), (-97.87515442535873, 42.26047315800571), (-97.8751
   ...:<PHONE_NUMBER>, 42.260473156189384), (-97.87515333162983, 42.26046020362347), (-97.87515440119766, 42.26046023880491), (-97.8751
   ...:<PHONE_NUMBER>, 42.26037182672422), (-97.87513697185976, 42.26026647870802), (-97.88207796522188, 42.260216238952694), (-97.8834
   ...:<PHONE_NUMBER>, 42.261035823762136), (-97.88351973580356, 42.2615103899167), (-97.88353286716398, 42.2633115653508)])

In [8]: p1.is_valid
Out[8]: True

In [9]: p2.is_valid
Out[9]: True

In [10]: intx = p1.intersection(p2)

In [11]: print(intx)
LINESTRING (-97.88260114352977 42.26052192501866, -97.88207796522188 42.260216238952694)

In [12]: p1.overlaps(p2)
Out[12]: True

In [13]: p1.touches(p2)
Out[13]: False

In [14]: p1.relate(p2)
Out[14]: '212101212'

For replicability, these are the full, uninterrupted polygon definitions:
p1 = Polygon([(-97.88355640266877, 42.26242144815486), (-97.88351421300851, 42.26105541926469), (-97.88119267246086, 42.25969897427015), (-97.87871403518437, 42.25971189293162), (-97.87382658140008, 42.259686055606096), (-97.87383933904984, 42.26039891508259), (-97.8738375, 42.2603993), (-97.8738295, 42.2603781), (-97.8738289158011, 42.2603770214789), (-97.8738321, 42.2603759), (-97.8738333, 42.2603786), (-97.8738348, 42.2603783), (-97.8738325, 42.2603756), (-97.8738181, 42.2603603), (-97.87383245634027, 42.25621759856307), (-97.87630570202417, 42.25608512363692), (-97.87630644368413, 42.25609363221611), (-97.8834750831772, 42.25608090836759), (-97.8834778, 42.2561611), (-97.8835366, 42.260245), (-97.88355640266877, 42.26242144815486)])

p2 = Polygon([(-97.88353286716398, 42.2633115653508), (-97.8779018, 42.263341), (-97.87660201506891, 42.26333569570357), (-97.87646231535889, 42.26326442451469), (-97.87613051358257, 42.26309360389611), (-97.87587006407468, 42.26292762531651), (-97.87544089734315, 42.26271588315267), (-97.87517063119081, 42.26256685217098), (-97.87411990527927, 42.261820339725375), (-97.87405341924661, 42.26176261869835), (-97.87386149116635, 42.261209663205605), (-97.87385920166167, 42.2604861136907), (-97.8751544015267, 42.26047317529611), (-97.87515440396658, 42.26047317508802), (-97.87515440630008, 42.26047317452106), (-97.87515440843187, 42.26047317361842), (-97.87515441027486, 42.260473172416965), (-97.87515442223854, 42.26047316286359), (-97.87515442371746, 42.2604731614124), (-97.87515442477188, 42.26047315977074), (-97.87515442535873, 42.26047315800571), (-97.87515442545403, 42.260473156189384), (-97.87515333162983, 42.26046020362347), (-97.87515440119766, 42.26046023880491), (-97.87514586833711, 42.26037182672422), (-97.87513697185976, 42.26026647870802), (-97.88207796522188, 42.260216238952694), (-97.88348067552344, 42.261035823762136), (-97.88351973580356, 42.2615103899167), (-97.88353286716398, 42.2633115653508)])

Operating system
% sw_vers
ProductName:		macOS
ProductVersion:		13.6.1
BuildVersion:		22G313

Shapely version and provenance
In [1]: import shapely

In [2]: from shapely import geos

In [3]: shapely.__version__
Out[3]: '2.0.2'

In [4]: geos.geos_version_string
Out[4]: '3.11.2-CAPI-1.17.2'

Follow-up:
I conferred with a colleague (@msalib) who wrote this rust script that calls GEOS directly.  Our current thinking is that this isn't a Shapely problem since the results of this match what I am seeing...
Outcome:
version: 3.10.2-CAPI-1.16.0
overlaps: true, touches: false

Rust code:
use anyhow::Result;
use geos::{Geom, Geometry};

fn main() -> Result<()> {
    let p1 = Geometry::new_from_wkt("POLYGON ((-97.88355640266877 42.26242144815486, -97.88351421300851 42.26105541926469, -97.88119267246086 42.25969897427015, -97.87871403518437 42.25971189293162, -97.87382658140008 42.259686055606096, -97.87383933904984 42.26039891508259, -97.8738375 42.2603993, -97.8738295 42.2603781, -97.8738289158011 42.2603770214789, -97.8738321 42.2603759, -97.8738333 42.2603786, -97.8738348 42.2603783, -97.8738325 42.2603756, -97.8738181 42.2603603, -97.87383245634027 42.25621759856307, -97.87630570202417 42.25608512363692, -97.87630644368413 42.25609363221611, -97.8834750831772 42.25608090836759, -97.8834778 42.2561611, -97.8835366 42.260245, -97.88355640266877 42.26242144815486))")?;
    let p2 = Geometry::new_from_wkt("POLYGON ((-97.88353286716398 42.2633115653508, -97.8779018 42.263341, -97.87660201506891 42.26333569570357, -97.87646231535889 42.26326442451469, -97.87613051358257 42.26309360389611, -97.87587006407468 42.26292762531651, -97.87544089734315 42.26271588315267, -97.87517063119081 42.26256685217098, -97.87411990527927 42.261820339725375, -97.87405341924661 42.26176261869835, -97.87386149116635 42.261209663205605, -97.87385920166167 42.2604861136907, -97.8751544015267 42.26047317529611, -97.87515440396658 42.26047317508802, -97.87515440630008 42.26047317452106, -97.87515440843187 42.26047317361842, -97.87515441027486 42.260473172416965, -97.87515442223854 42.26047316286359, -97.87515442371746 42.2604731614124, -97.87515442477188 42.26047315977074, -97.87515442535873 42.26047315800571, -97.87515442545403 42.260473156189384, -97.87515333162983 42.26046020362347, -97.87515440119766 42.26046023880491, -97.87514586833711 42.26037182672422, -97.87513697185976 42.26026647870802, -97.88207796522188 42.260216238952694, -97.88348067552344 42.261035823762136, -97.88351973580356 42.2615103899167, -97.88353286716398 42.2633115653508))")?;
    let int = p1.intersection(&p2)?;

    let version = geos::version()?;
    let does_overlap = p1.overlaps(&p2)?;
    let does_touch = p1.touches(&p2)?;
    println!("version: {version}");
    println!("overlaps: {does_overlap}, touches: {does_touch}");
    Ok(())
}


Polyline method

Played with your library today.  Was great.
I was wondering if you'd be willing to add a polyline method so I can avoid making the following call that makes numerous interop calls.
I'd done this before in Javascript and the polyline draws much faster than it does when using Blazor WebAssembly even with batching.
Current C#:
public async Task DrawPolyLineAsync(IEnumerable<this Context2D ctx, (double X, double Y)> pointArray)
{
if (null == pointArray || pointArray.Count() < 1)
return;
    await ctx.BeginPathAsync();

    var firstPt = pointArray.First();
    await ctx.MoveToAsync(firstPt.X, firstPt.Y);
    foreach (var pt in pointArray)
        await ctx.LineToAsync(pt.X, pt.Y);

}
Proposed JS:
function DrawPolyIine(ctx, pointArray)
{
if (null == pointArray || pointArray.length < 1)
return;
            ctx.beginPath();
            ctx.moveTo(pointArray[0].X, pointArray[0].Y);
            for (var pnt = 1; pnt < pointArray.length; ++pnt)
                ctx.lineTo(pointArray[pnt].X, pointArray[pnt].Y);
            ctx.stroke();
}

Hi @Rowingwolf,
thanks for the suggestion. This is something to think carefully about, since it is an extension of the official API and should therefore be reasonably separated from the main API (as when the HTML API is extended, we don't suddenly have a conflict).
Regarding the concrete proposed API: Wouldn't it be more idiomatic to write the following?
LineTo(Context2D ctx, IEnumerable<(double X, double Y)> points)

So without the implicit moveTo in it.
I think this API could be more composable, considering for example other APIs for multiple curve segments etc.
Would do you think?

Yes, I agree.  I am actually surprised it is not part of the Canvas API for performance purposes.
Perhaps offering options would be good.  A PolylineAsync with the moveTo and a LineToAsync without.
I agree that changing to LineToAsync is a good idea.  My first concern was be for someone porting their JS code over to Blazor and due to the override perhaps making a mistake....but I think the compiler should highlight it.
To keep these from being in conflict, perhaps an Extension object so the code is in a silo.  So usage of  new function name would be something like:
await ctx.Ext.PolylineAsync(points)
For the JS code I wrote the performance is much better.  Using Blazor.Canvas, drawing 30x 360 points (needed per application requirement) takes almost 5 seconds on my laptop.  Using my existing JS code the same action is almost instant.
The target device will be a tablet so I expect performance there to be worse....and I often need draw a different dataset -- doing that without a high performance polyline routine would mean the user would have a great deal of lag when reviewing data.
I have considered wrapping my existing code to do the plotting in JS, but I think would prefer to port my JS to C#.....I just am tired of JS and the constant churn.

Hi @Rowingwolf,
thank for your feedback.
I was considering extension methods for this kind of API extension, but I'll have to look into that. The usage would then be
using Excubo.Blazor.Canvas;
using Excubo.Blazor.Canvas.Extensions; // additional API not available without this

var ctx = await canvas.GetContext2DAsync();
await ctx.MoveToAsync(1, 1);
await ctx.LineToAsync(points); // potentially: LinesToAsync(points) ?
await ctx.ArcAsync(arcs);

The benefit of not including the moveto is that you get a better composability between different types of paths. A single moveto in between the sections, should it be required shouldn't hurt performance all that much.
Are you able to share your code drawing those points? I would like to use that as a benchmark when experimenting on this addition.

Yes.  I've loaded to OneDrive:
https://1drv.ms/u/s!AksqXQUjQt-5g-UWg_-IveMXx8jbzA?e=XATSBS

Does this project also include your experiment with blazor?

That is just the JS.  Here is the Blazor test:
https://1drv.ms/u/s!AksqXQUjQt-5g-UZ5xZMrodoKk1XoQ?e=du27bk

Thanks, @Rowingwolf. This is a good starting point to see whether additional APIs have the desired effect. A quick note on your code though: You're currently ignoring the batch, even though you're creating it. In addition to creating it, all methods need to be executed on the batch rather than the context. That cuts the render time in half on my device.

Yes, that helps, but is still about 1.5 seconds.  Which is much better, but is still far slower than the JS version.  I assume it is due to interop overhead.  By doing the lineTo loop in JS, it cuts out that overhead.

Hi @Rowingwolf,
I've done a little bit of experimentation and can share some first insights:
Blazor wasm:

without batching: 9500ms
with batching: 5800ms
experimental code: 2500ms

A much higher performance is possible with blazor server-side rendering, but here batching is actually superior to the proposed new method:

without batching: 21129ms (yikes!)
with batching: 130ms
experimental code: 220ms

In conclusion: there absolutely would be a performance improvement for blazor wasm, but it can't get better than about 2400ms, as that's the time it takes to transfer the amount of data from wasm to js. Potentially unmarshalled interop could be better? This is not something we'll do in this repo though (I can be convinced of it by a super-stable pull request 😉). If you need better performance than this (which I would think you do), then either your data needs to reside in js in the first place and the rendering should be done there as well. Alternatively, switch to server-side blazor and simply use batching.
BR
Stefan

For the application that is my current priority, I have to use wasm -- the software is being run in areas that often have no w-fi or cell service.
An option that avoids unmarshalled interop but that offers better performance would be to use IJSInProcessRuntime and call using Invoke which would make the call synchronous.   That would be faster than InvokeAsync while avoiding InvokeUnmarshalled. My assumption is that you are concerned InvokeUnmarshalled could change in the future?  Until you commented about it, I didn't realize there was an unmarshalled option.

Hi @Rowingwolf
Some further experimentation:

IJSRuntime (async): transferring data (30x400 elements) takes 2400ms
IJSInProcessRuntime (sync): transferring data (30x400 elements) takes 2500ms

So no speedup here at all. The unmarshalled option has potential (I've read somewhere that a 50x speedup is feasible), but requires a lot of effort on the js side. My hunch is that most likely this library would profit most from unmarshalled interop, if we enable it for the batching feature (that would also mean implementing unmarshalled interop for just one js method).
Quoting from the docs:

While using WebAssemblyJSRuntime has the least overhead of the JS interop approaches, the JavaScript APIs required to interact with these APIs are currently undocumented and subject to breaking changes in future releases.

While it's tempting, I don't want to invest time into understanding an undocumented, potentially breaking API at this point. If you want to tackle this, I'm of course more than happy to review a pull request.
BR
Stefan

I read the same about unmarshalled calls -- that is why I assumed you wanted to avoid for now.  If I can find some time in the next couple weeks I'll play around with it.  I've got a deadline of Oct 15 for a project milestone due to a trade show.
Along those same lines, I came across an article this morning by Steve Sanderson touching on performance tips that I though was a good read.
Back to the question of a LineTo call that handles a set of coordinates, is that something you are interested in adding?  Only asking because I suspect you might prefer to not include. If that is the case I probably need to fork the code.  From your comments it provides a 2x speed improvement which is twice as nice as the current speed.  ;)

The thing I dislike about PolyLineTo is that it's essentially a batch LineTo, and batching is already something that is done. I think it probably makes more sense to optimize the batching in general, rather than adding extension methods.

The experiment of improving batching in general, rather than adding specialized methods was a success: it improves performance of batch processing in general, rather than just for one operation.
Here are the numbers (all in ms):

env
old
new
savings

wasm
244
120
50.8%

server
50
24
52%

This is possible with a combination of the existing batching and a new optimization for batching which you could call "bulk operations": The payload that needs to be sent from wasm to js, or from the server to the browser, is significantly smaller once we do the following:

for multiple consecutive assignments to a variable, only take the last assignment
This is valid, as assigning to a variable multiple times consecutively (i.e. without any operation in between) will simply overwrite the previous values. We only have to consider the very last assignment.
for multiple consecutive invocations of methods, it's cheaper to send

[{"Identifier":"lineTo","Bulk":true,"Value":[{X:0,Y:0},{X:1,Y:1},{X:2,Y:2},{X:3,Y:3}]}]

than
[{"Identifier":"lineTo","Value":{X:0,Y:0}},{"Identifier":"lineTo","Value":{X:1,Y:1}},{"Identifier":"lineTo","Value":{X:2,Y:2}},{"Identifier":"lineTo","Value":{X:3,Y:3}},]

(note that in the actual implementation this is even more optimized, because we use one character names. There can be cases where this is less efficient, but I expect that in the vast majority of cases this is the best way to go.
This performance optimization will be available starting with version 2.3.0.
Please let me know if this satisfies your immediate need. Of course I would still be very happy to see an implementation using unmarshalled interop for Blazor wasm (which might further improve performance for wasm, but not for server-side blazor).

I think that should help.
I did some reading about unmarshalled calls and played a little bit with your project.  For some reason I can't get breakpoints in your library to fire....so will have to figure it out.  I need to be able to be able to access IJSInProcessRuntime.

Great, I'll close this issue for now, because unmarshalled interop is probably better talked about in a fresh issue / PR discussion. Looking forward to this! Thanks for raising this and helping to make the library better :-)


Windows crash fix. Mac build fix. Also question about "Gotchas"

Hi, thanks for your awesome work!
Can't compile for Windows without adding ";" at the end of lines 71 and 85 of SpineAnimationState.cpp of Spine 3.8:
ERR_PRINT(String("Can not find animation: ") + anim_name)**;** 		return NULL;
https://github.com/rayxuln/spine-runtime-for-godot/blob/spine4.0/SpineAnimationState.cpp
I tested Spine 3.8.x build for Mac.
In order to make it possible to build on Mac, a Spine lib fix required: convert t_size into String in SpineSprite.cpp gave a conversion error, lines 800 and 988.
Here is a quick rough fix, you can probably make it better.
`    for (size_t i=0; i<current_animations.size(); ++i) {
    char str1[128];

    char str2[128];

    String prefix = vformat("ca/%d/", snprintf(str1, sizeof str1, "%zu", i));

    p_list->push_back(PropertyInfo(Variant::NIL, vformat("ID %d", snprintf(str2, sizeof str2, "%zu", i)), PROPERTY_HINT_NONE, prefix, PROPERTY_USAGE_GROUP));`

....
`
for (size_t i=0; i<current_animations.size(); ++i) {
    char str1[128];

    char str2[128];

    String prefix = vformat("ca/%d/", snprintf(str1, sizeof str1, "%zu", i));

    p_list->push_back(PropertyInfo(Variant::NIL, vformat("ID %d", snprintf(str2, sizeof str2, "%zu", i)), PROPERTY_HINT_NONE, prefix, PROPERTY_USAGE_GROUP));`

I am not C++ expert so can you please describe what -Od flag and -O2 flag  means?
Do I have to run linker on Linux and Mac OS only? No Windows unlinking required?
Thanks!

The flags optimize the code and increase in my (limited) testing fps by factor 2
Thomas

On Nov 4, 2021, at 7:06 AM, Vadimledyaev @.***> wrote:

Hi, thanks for your awesome work!
Can't compile without adding ";" at the end of lines 71 and 85 of SpineAnimationState.cpp of Spine 3.8:
ERR_PRINT(String("Can not find animation: ") + anim_name); return NULL;
https://github.com/rayxuln/spine-runtime-for-godot/blob/spine4.0/SpineAnimationState.cpp
I tested Spine 3.8.x build for Mac.
In order to make it possible to build on Mac, a Spine lib fix required: convert t_size into String in SpineSprite.cpp, lines 800 and 988. It is a quick rough fix, you can probably make it better.
I am not C++ expert so can you please describe what -Od flag and -O2 flag means?
Do I have to run linker on Linux and Mac OS only? No Windows unlinking required?
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

I could not find much info about these flags and I'm not really sure how to use them.
I have added them to the SConstruct environment as shown on the picture then built.
Some warnings appear while building.
The build changed size but I could not see much change in performance comparing to the default flags.

Am I doing something wrong?
I will really appreciate if you clarify how to twice the performance. Thanks.

This is for the editor. The final performance in the template builds already uses flags.
Things might have changed since last time I looked.
Thomas

On Nov 4, 2021, at 12:39 PM, Vadimledyaev @.***> wrote:

I could not find much info about these flags and I'm not really sure how to use them.
I have added them to the SConstruct environment as shown on the picture then built.
Some warnings appear while building.
The build changed size but I could not see much change in performance comparing to the default flags.
Am I doing something wrong?
I will really appreciate if you clarify how to twice the performance. Thanks.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

No I mean building for debug
As opposed to production
Thomas

On Nov 4, 2021, at 1:00 PM, Vadimledyaev @.***> wrote:

You mean launching the editor with command line arguments like that:
?
I can't see any difference either.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

This?

Hi, can you please describe how exactly you set the flags?


Clean up readonly flag for custom cells

A couple of custom cells have a readonly property (tags cell, range cell, article cell), which I think is unnecessary since the readonly property is a default property on the custom cell level. I think these can be cleaned up, or?

Yeah vestiges of an older time.

Implemented by https://github.com/glideapps/glide-data-grid/pull/852


split --filter doesn't work on all systems

In particular, this will apparently come up when running on kolossus without docker.  This is an important enough use case that some kind of fallback logic should be put in place.

Let's call this fixed by the single-reads-chunk option in #206


Converted jpeg to output instead of file

Hi, any way to output the jpeg to output buffer for use it in pipe?
Something like this:
tifig -p img1.heic -o /dev/stdout | jpeg_handler_tool

Hi @Kostanos, great idea! I made the output path parameter optional but omitting it will always convert to jpeg and ignore the --verbose parameter.  This allows you to do:
tifig img1.heic > converted.jpg

or in your scenario:
tifig -p img1.heic | jpeg_handler_tool

It's already released as version 0.2.1. Thanks for your help to improve tifig!

PS: Feel free to reopen this issue if you detect any problem


Let's Encrypt addon fails to start when emulated_hue in running

Hi all,
(Not really a bug, just something that should find its way into the documentation)
there is a conflict between the Let's Encrypt addon and the emulated_hue integration. Both try to bind to port 80 on the server. With emulated_hue running, Let's Encrypt Addon will not start. In the Log file you'll see:
[supervisor.docker] Can't start addon_core_letsencrypt: 500 Server Error: Internal Server Error ("driver failed programming external connectivity on endpoint addon_core_letsencrypt (53b8380a6220142caee27549507eeed05996d452282db042b8750b4f8ab35e31): Error starting userland proxy: listen tcp <IP_ADDRESS>:80: bind: address already in use")
Checking on the Home Assistant Server (ssh to port 22222) you get:
# netstat -tulpn | grep :80
tcp        0      0 <IP_ADDRESS>:80       <IP_ADDRESS>:*               LISTEN      5086/python3

If you then (temporarily) remove the emulated_hue, reboot and check again:
ha > login
 netstat -tulpn | grep :80
 exit

Port 80 is not in use, and the Let's Encrypt addon will start and renew the Certificates.
Afterwards, enable emulated_hue again, and all is good for another three months.
Best regards
Yonz

This is not just emulated hue. Anything can use a port and thus cause a port collision. Documenting everything that could be using port 80 would be kinda impossible...

Oh well this explains why I can't get this working at the moment :)


[Quest] Add Ordering to Registers

Name of feature to enhance
Add Ordering of Registers
Description of feature
Order the Family/Patient Register

Ascending/Descending by Given name
Ascending/Descending by Family name
Ascending/Descending by Registration date
Ascending/Descending by Last Encounter

We could do this by letting the user define a set of [name, query] pairs in an order key field in the config, where the query is defining the order, and have convention for asc/desc, so we'd support asc/desc for every order query they define

Good point  @pld

We could do this by letting the user define a set of [name, query] pairs in an order key field in the config, where the query is defining the order, and have convention for asc/desc, so we'd support asc/desc for every order query they define

Good point @pld

Closing this in favor of #1789


Delete StudyGroup

be able to delete a study group from firebase ONLY if you are the owner

Acceptance Criteria:
Add ability for user to delete a study group they created from the "My Groups" page.


Fix responsible_user_id and add names to audit log

Description
We should be recording the specific admin user's id when logging any activity they perform in the admin app. This PR fixes that and adds their full name to the log line so we can more easily and quickly identify who performed the action.
Setup

make server_run
make client_run
Log into the admin app and edit an office user. Then go check the log line and make sure the correct full name is present in the responsible_user_name field.

Code Review Verification Steps

[ ] Have the Pivotal acceptance criteria been met for this change?

References

Pivotal story for this change

@chrisgilmerproj who should I check with about the potential PII leak?

@chrisgilmerproj who should I check with about the potential PII leak?

I've asked Harlan and Jarod in Slack and the answer is we can record names in the logs if the logs are well handled, meaning encrypted and with limited access. That means I have some work to do briefly before we merge so I'll come back to this as soon as I can.

@garrettqmartin8 - It appears that our application logs are not encrypted. So before adding names we'll have to address that issue. Can you modify this PR into two separate PRs? The first to update the UUID? And the second with the names that we can apply after I get the logs encrypted? I'll add something to my backlog to address the encryption and the documentation around what we need.

@chrisgilmerproj sounds good, I'll update this PR and open a new one for the names.

@chrisgilmerproj updated and opened a draft PR in #2876 for adding names back.


Logoru Attribute Error

I've been trying to set up the project with Logoru enabled and if I try to run it I get the error
Exception has occured: AttributeError X
partially initialized module 'logging' has no attribute 'getLogger' (most likely due to a circular import)

   File "C:\Users\(myUser)\fastapitemplate\logoruTest\logging.poy", line 5, in <module>
      from loguru import logger
   File "C:\Users\(myUser)\fastapitemplate\logoruTest\logging.poy", line 1, in <module>
      import logging

I'm a little bit at a loss condering this was just when starting the project right after generating it.
It works without a problem when I exclude Logoru.

Hi, and thanks for raising this issue.
Could you please provide more context on this? What options did you choose?

Hey, thank you for the fast response!
I always create a project with Rest and nothing else (except Logoru) selected.
I got 2 running Systems and I wrote the issue after I couldn't get it working on one of my systems, after your question I decided I wanted to try out a few things before going at it again and it turns out it just works without problems on my other PC.
So I tried running it again on the system where it doesn't work starting from a completely clean clone state:
on FastAPI-template
python -m venv venv
enter venv
python -m pip install poetry
no issues here except a warning that I'm using an older pip version (21.2.3 instead of 22.22.2)
python -m pip install .
python -m fastapi_template
chose Rest and everything else is none except Logoru.
Now I change folder into the generated project:
python -m venv venv
enter venv
poetry install
Installing dependencies from lock file

Package operations: 88 installs, 0 updates, 1 removal

  • Removing setuptools (65.3.0)
  • Installing smmap (5.0.0)
  • Installing gitdb (4.0.9)
  • Installing mccabe (0.6.1)
  • Installing pbr (5.10.0)
  • Installing pycodestyle (2.8.0)
  • Installing pyflakes (2.4.0)
  • Installing colorama (0.4.5)
  • Installing docutils (0.19)
  • Installing idna (3.4)
  • Installing flake8 (4.0.1)
  • Installing gitpython (3.1.27)
  • Installing pyparsing (3.0.9)
  • Installing pyyaml (6.0)
  • Installing sniffio (1.3.0)
  • Installing snowballstemmer (2.2.0)
  • Installing stevedore (4.0.0)
  • Installing anyio (3.6.1)
  • Installing attrs (22.1.0)
  • Installing certifi (2022.9.14)
  • Installing filelock (3.8.0)
  • Installing bandit (1.7.4)
  • Installing flake8-polyfill (1.0.2)
  • Installing distlib (0.3.6)
  • Installing eradicate (2.1.0)
  • Installing h11 (0.12.0)
  • Installing iniconfig (1.1.1)
  • Installing isort (5.10.1)
  • Installing packaging (21.3)
  • Installing platformdirs (2.5.2)
  • Installing pluggy (1.0.0)
  • Installing py (1.11.0)
  • Installing pydocstyle (6.1.1)
  • Installing pygments (2.13.0)
  • Installing restructuredtext-lint (1.4.0)
  • Installing tomli (2.0.1)
  • Installing typing-extensions (4.3.0)

  EnvCommandError

  Command "C:\Users\(MyUser)\Projekt\Neuer Ordner\FastAPI-template\logilogi\venv\Scripts\pip.exe" install --no-deps file:///C:/Users/(MyUser)/AppData/Local/pypoetry/Cache/artifacts/81/bc/84/e389fe50ba4ac624a1658aed8cdcceb18a58f785c459c2c067edeb7af5/restructuredtext_lint-1.4.0.tar.gz errored with the following return code 1, and output:
  Processing c:\users\(MyUser)\appdata\local\pypoetry\cache\artifacts\81\bc\84\e389fe50ba4ac624a1658aed8cdcceb18a58f785c459c2c067edeb7af5\restructuredtext_lint-1.4.0.tar.gz
      ERROR: Command errored out with exit status 1:
       command: 'C:\Users\(MyUser)\Projekt\Neuer Ordner\FastAPI-template\logilogi\venv\Scripts\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\(MyUser)\\AppData\\Local\\Temp\\pip-req-build-u4iz4cei\\setup.py'"'"'; __file__='"'"'C:\\Users\\(MyUser)\\AppData\\Local\\Temp\\pip-req-build-u4iz4cei\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\(MyUser)\AppData\Local\Temp\pip-pip-egg-info-sqqdwrdq'
           cwd: C:\Users\(MyUser)\AppData\Local\Temp\pip-req-build-u4iz4cei\
      Complete output (3 lines):
      Traceback (most recent call last):
        File "<string>", line 1, in <module>
      ModuleNotFoundError: No module named 'setuptools'
      ----------------------------------------
  WARNING: Discarding file:///C:/Users/(MyUser)/AppData/Local/pypoetry/Cache/artifacts/81/bc/84/e389fe50ba4ac624a1658aed8cdcceb18a58f785c459c2c067edeb7af5/restructuredtext_lint-1.4.0.tar.gz. Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  WARNING: You are using pip version 21.2.3; however, version 22.2.2 is available.
  You should consider upgrading via the 'C:\Users\(MyUser)\Projekt\Neuer Ordner\FastAPI-template\logilogi\venv\Scripts\python.exe -m pip install --upgrade pip' command.

  at ~\.local\pipx\venvs\poetry\lib\site-packages\poetry\utils\env.py:1195 in _run
      1191│                 output = subprocess.check_output(
      1192│                     cmd, stderr=subprocess.STDOUT, **kwargs
      1193│                 )
      1194│         except CalledProcessError as e:
    → 1195│             raise EnvCommandError(e, input=input_)
      1196│
      1197│         return decode(output)
      1198│
      1199│     def execute(self, bin, *args, **kwargs):

(venv)
(MyUser)@ThinkPad MINGW64 ~/Projekt/Neuer Ordner/FastAPI-template/logilogi (master)

This time a different error appeared (couldn't replicate the attribute error :/)
Think pip might've been the reason that this error occured?

I've tried to generate a project with loguru, but I cannot reproduce this issue. If anyoe would ever came up with the same issue, I will reopen it.
But my point is that this issue isn't really related to the template itself. It's more likely to be a problem of your python configuration of with loguru.
Closing for now.

Yes you're correct after more playing around I managed to fix the issue too! Sorry for the inconvencience!

@fmigneault, can you provide me with options, you've chosen?

I generated project using this command.
fastapi_template --name logtest --api-type rest --db none --ci none --loguru --quite

After the project is generated I successfully started it using these commands:
poetry install
poetry run python -m logtest

Everything seems to be working as intended.
INFO:     Will watch for changes in these directories: ['/home/s3rius/logtest/logtest']
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [2405709] using WatchFiles
2023-03-27 23:00:17.316 | INFO     | uvicorn.server:serve:75 - Started server process [2405711]
2023-03-27 23:00:17.316 | INFO     | uvicorn.lifespan.on:startup:47 - Waiting for application startup.
2023-03-27 23:00:17.317 | INFO     | uvicorn.lifespan.on:startup:61 - Application startup complete.

@s3rius
I followed the dynamic menu with following selections / enabled components:

rest api
postgres
no CI
rabbitmq
taskid
dummy model
example routers
self-hosted swagger
sentry

So I generated the project with set of features that you've sent me.
fastapi_template --name logtest --api-type rest --db postgresql --ci none --orm tortoise --rabbit --taskiq --dummy --routers --swagger --sentry --quite

And everything is generated as it should be. Please regenerate project once again.

Resolved in #154.


Cover() returns {NaN, []} on text that only contains newlines.

Hi.
Thanks for this great library. I'm making a tool with it and happened to find this.
How to reproduce:

create an empty file or a file with only a newline in;
input the content of the file to Cover();
check the output.

Not sure if this is intended behavior. Seems like a bug.

The coverage of an empty file is 0 words matched / 0 words.
That's reported as NaN.
Should it be 0 instead? Or 100?
Hard to say.
The usual answer for 0/0 is NaN.

It's easy to add the if statement that turns 0/0 into 0. Seems more user-friendly.

It's easy to add the if statement that turns 0/0 into 0. Seems more user-friendly.

Yes, returning a 0 is more user-friendly. What I'm doing is adding an if after Coverage() returns and replace the NaN because I need to output the result into a json file.


Adds an example approver-policy plugin

This PR adds an example approver policy plugin.
All the code is in main.go and the Readme explains its purpose.
The main goal is to provide a working sample implementation, not a best practices usable plugin.
This is an example implementation only, for folks to understand what needs to be implemented, but it does also work, to try it out:

create a kind cluster
deploy cert-manager with default approver disabled
set IMAGE_REPO var in Makefile to something
run make deploy
apply policy resources and issuer and cert from ./deploy/example

/cc @smuda
When this PR merges, I will add a link to this repo in our docs https://cert-manager.io/docs/projects/approver-policy/#plugins

Thanks both, @wallrj I've added the fixes suggested PTAL

PS I noticed lots of duplicated log messages. See output below:

Those messages all come from aprover-policy, we don't start any controllers or leader election here.

I thought this had merged, but apparently needs a Github approve- @wallrj could you please approve it?

/approve

I thought cert-manager maintainers PRs were automatically marked as approved?

I think only if they're in OWNERS, which there isn't in this repo.  Might need to manually add an approved label to get this bootstrapped!


"fastlane snapshot" not reading my Snapfile

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description

I setup fastlane with "fastlane init swift" and followed the steps to automate screenshots. Fast-forward to having my UITests setup and everything, running "fastlane snapshot" does not read my Snapfile and uses the default Snapfile, but it runs the tests and generates the screenshots fine. Also, running "fastlane screenshotsLane" also does not read my Snapfile, but this fails.
This is my Snapfile:
class Snapshotfile: SnapshotfileProtocol {

// A list of devices you want to take the screenshots from
var devices: [String] { return [
    "iPhone 6",
    "iPhone 6 Plus",
    "iPhone 5",
    "iPhone X"
    ]
}

// locales not supported in Swift yet
var languages: [String] { return [
    "en-US",
    "de-DE",
    "it-IT"
    ]
}

// The name of the scheme which contains the UI Tests
var scheme: String? { return "MarcosManagementUITests" }

// Where should the resulting screenshots be stored?
var outputDirectory: String { return "./screenshots" }

// Clear all previously generated screenshots before creating new ones
var clearPreviousScreenshots: Bool { return true }

// Choose which project/workspace to use
var project: String? { return "./MarcosManagement.xcodeproj" }
// var workspace: String? { return "./Project.xcworkspace" }

// Arguments to pass to the app on launch. See https://docs.fastlane.tools/actions/snapshot/#launch-arguments
// var launchArguments: [String] { return ["-favColor red"] }

// For more information about all available options run
// fastlane snapshot --help

}
Complete output when running fastlane, including the stack trace and command used

Deriks-iMac:MarcosManagement derik$ fastlane screenshotsLane
[✔] 🚀
[07:30:34]: fastlane detected a Gemfile in the current directory
[07:30:34]: however it seems like you don't use `bundle exec`
[07:30:34]: to launch fastlane faster, please use
[07:30:34]:
[07:30:34]: $ bundle exec fastlane screenshotsLane
[07:30:34]:
[07:30:34]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[07:30:34]: loading manifest: /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/swift/upgrade_manifest.json
[07:30:35]: FastlaneSwiftRunner project is up-to-date
[07:30:35]: $ ./fastlane/FastlaneRunner lane screenshotsLane > /dev/null
[07:30:35]: ---------------------------------
[07:30:35]: --- Step: capture_screenshots ---
[07:30:35]: ---------------------------------
[07:30:36]: $ xcodebuild -showBuildSettings -scheme MarcosManagementUITests -project ./MarcosManagement.xcodeproj
+----------------------------+--------------------------------------+
|                    Summary for snapshot 2.95.0                    |
+----------------------------+--------------------------------------+
| languages                  | ["en-US"]                            |
| launch_arguments           | []                                   |
| output_directory           | /Users/derik/Documents/Xcode/Marcos  |
|                            | Management/screenshots               |
| output_simulator_logs      | false                                |
| skip_open_summary          | false                                |
| skip_helper_version_check  | false                                |
| clear_previous_screenshots | false                                |
| reinstall_app              | false                                |
| erase_simulator            | false                                |
| localize_simulator         | false                                |
| buildlog_path              | ~/Library/Logs/snapshot              |
| clean                      | false                                |
| scheme                     | MarcosManagementUITests              |
| number_of_retries          | 1                                    |
| stop_after_first_error     | false                                |
| concurrent_simulators      | true                                 |
| project                    | ./MarcosManagement.xcodeproj         |
| devices                    | ["iPhone 7", "iPhone 7 Plus",        |
|                            | "iPhone 8", "iPhone 8 Plus",         |
|                            | "iPhone X", "iPad (5th               |
|                            | generation)", "iPad Pro              |
|                            | (9.7-inch)", "iPad Pro               |
|                            | (12.9-inch)", "iPad Pro              |
|                            | (10.5-inch)"]                        |
| xcode_path                 | /Applications/Xcode.app              |
+----------------------------+--------------------------------------+
[07:30:39]: Building and running project - this might take some time...
+-----------------------+
|   snapshot results    |
+-----------------------+
| Device                |
+-----------------------+
| iPhone 7              |
| iPhone 7 Plus         |
| iPhone 8              |
| iPhone 8 Plus         |
| iPhone X              |
| iPad (5th generation) |
| iPad Pro (9.7-inch)   |
| iPad Pro (12.9-inch)  |
| iPad Pro (10.5-inch)  |
+-----------------------+
[07:30:39]: Generating HTML Report
[07:30:39]: No such file or directory @ rb_sysopen - /Users/derik/Documents/Xcode/MarcosManagement/screenshots/screenshots.html
+------+---------------------+-------------+
|             fastlane summary             |
+------+---------------------+-------------+
| Step | Action              | Time (in s) |
+------+---------------------+-------------+
| 💥   | capture_screenshots | 3           |
+------+---------------------+-------------+
[07:30:39]: fastlane finished with errors
[07:30:39]: Error accessing file, this might be due to fastlane's directory handling
[07:30:39]: Check out https://docs.fastlane.tools/advanced/#directory-behavior for more details
/Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/snapshot/lib/snapshot/reports_generator.rb:35:in write': No such file or directory @ rb_sysopen - /Users/derik/Documents/Xcode/MarcosManagement/screenshots/screenshots.html (Errno::ENOENT) 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/snapshot/lib/snapshot/reports_generator.rb:35:in generate'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/snapshot/lib/snapshot/runner.rb:56:in work' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/actions/capture_ios_screenshots.rb:14:in run'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/runner.rb:257:in block (2 levels) in execute_action' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/actions/actions_helper.rb:50:in execute_action'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/runner.rb:236:in block in execute_action' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/runner.rb:231:in chdir'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/runner.rb:231:in execute_action' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/server/socket_server_action_command_executor.rb:73:in run'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/server/socket_server_action_command_executor.rb:42:in execute' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/server/socket_server.rb:179:in execute_action_command'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/server/socket_server.rb:174:in process_action_command' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/server/socket_server.rb:121:in handle_action_command'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/server/socket_server.rb:84:in parse_and_execute_command' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/server/socket_server.rb:60:in block in receive_and_process_commands'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/server/socket_server.rb:47:in loop' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/server/socket_server.rb:47:in receive_and_process_commands'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/server/socket_server.rb:156:in listen' 	from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/server/socket_server.rb:36:in start'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/swift_lane_manager.rb:226:in `block in start_socket_thread'

Environment

✅ fastlane environment ✅
Stack

Key
Value

OS
10.13.4

Ruby
2.3.3

Bundler?
false

Git
git version 2.15.1 (Apple Git-101)

Installation Source
/usr/local/bin/fastlane

Host
Mac OS X 10.13.4 (17E202)

Ruby Lib Dir
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib

OpenSSL Version
LibreSSL 2.2.7

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
9.3.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE

fastlane files:
`./fastlane/Fastfile.swift`
// This file contains the fastlane.tools configuration
// You can find the documentation at https://docs.fastlane.tools
//
// For a list of all available actions, check out
//
//     https://docs.fastlane.tools/actions
//

import Foundation

class Fastfile: LaneFile {
    func screenshotsLane() {
    desc("Generate new localized screenshots")
        captureScreenshots(scheme: "MarcosManagementUITests")
//        uploadToAppStore(username<EMAIL_ADDRESS>app: "com.fromderik.MarcosManagement", skipBinaryUpload: true, skipMetadata: true)
    }
}

No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.95.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.0

slack-notifier
2.3.2

rouge
2.0.7

xcpretty
0.2.8

terminal-notifier
1.8.0

unicode-display_width
1.3.2

terminal-table
1.8.0

plist
3.4.0

public_suffix
2.0.5

addressable
2.5.2

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.6.4

tty-cursor
0.5.0

tty-spinner
0.8.0

babosa
1.0.2

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

excon
0.62.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20180417

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.3

gh_inspector
1.1.3

mini_magick
4.5.1

multi_json
1.13.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
1.0.0

dotenv
2.4.0

bundler
1.16.1

faraday_middleware
0.12.2

naturally
2.1.0

simctl
1.6.4

uber
0.1.0

declarative
0.0.10

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.1

mime-types-data
3.2016.0521

mime-types
3.1

little-plugger
1.1.4

logging
2.2.2

jwt
2.1.0

memoist
0.16.0

os
0.9.6

signet
0.8.1

googleauth
0.6.2

httpclient
2.8.3

google-api-client
0.13.6

emoji_regex
0.1.1

io-console
0.4.5

CFPropertyList
3.0.0

libxml-ruby
2.9.0

atomos
0.1.2

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.5

xcodeproj
1.5.8

faraday
0.15.1

json
2.1.0

generated on: 2018-05-12

I got the same problem and did not found a solution so far. I think it has something todo with the fact that we are both using the swift beta. I also discovered that the same applies to match or pilot. They will also ignore App & Fastfile.


Infinite Loop on SAML call

When generating refresh token with SSO, it enters an infinite loop, this error has happened on other SAP tools, is there a way to fix it on SAP ABAP?
We're facing the same error below but on ABAP:
https://github.com/SAP/spartacus/issues/11465

Hi Viniciuslfta,
Since this seems, judging from your description, like a general issue in the OAuth 2 framework and not directly related to the provided integration, please file an incident on SAP component BC-SEC-LGN-OA2 describing your case in detail so colleagues can reproduce it.
Kind Regards,
Sebastian


How can I upgrade the chat to latest version on MacOS?

How can I upgrade the chat to latest version on MacOS?
Hi guys, this project is really fantastic, i have been using it for a while time, but 😆
when I download the newest version of the chat from GitHub and replace it into Application folder, an Extension stop work and also disappear from Settings.
The Chat with v. 2.3.6 started to display "Red lines"with errors, of course I can sent them to us, if you ask

OS: MacOS 13.5 (22G5059d)
Browser: Safari 16.6 (186<IP_ADDRESS>.3)
Extension Version: 2.3.6 (From MAS)

Recently, Apple rejected my update request and marked it as spam. I am still trying to resolve this issue. Currently, for macOS users, you have to use another browser to install the latest version of the extension.


URL for Brazil servers not working

While trying to use the program in BR servers the api url needs to be different because br servers use the same url as the NA servers, but with the glz url you need the "br" in the url as well. I imagine the smaller regions use the same mechanic as there are only 4 urls:
North America | https://pd.NA.a.pvp.net/
Europe | https://pd.EU.a.pvp.net/
Asia Pacific | https://pd.AP.a.pvp.net/
Korea | https://pd.KO.a.pvp.net/
The urls for the BR region would be:
glz_url = "https://glz-br-1.na.a.pvp.net"
pd_url = "https://pd.na.a.pvp.net"

It should work now. Let me know if it works.
Thank you

It now works, thanks


TRLST-169 branding changes

These are changes for making updates to the branding as described in TRLST-169.  Tipu has kindly reviewed the result and declared himself happy with it..  This PR is for review only at this stage, but with a view to it being approved and applied when the branding update is required.
Known Issues
These changes do not include:

updates to any documents - e.g. letter of authority templates or email templates;
updates to the database - see the ticket comment for details, also the fixture changes may be relevant.

I think this needs to be discussed.  The change will happen over the Christmas break, so my call was to keep it as simple as possible to avoid disrupting people's seasonal break.  Also, I think org name changes are actually likely to be rather rare.  Finally, the testing / reviewing work here is probably as substantial than the actual development.
It is worth noting that there are some file names referring to TRID - some might argue that a second set of changes will be needed in order to change those filenames and it would be better to do any automation at that point - i.e not during the holiday season.

The intention is to minimise the change at that time (xmas) by parameterising it now, but using values for current branding (TRID etc). Then at EOY it's a simple var change that's low ceremony/low risk. My experience is that branding changes regularly enough (don't get me started 😆 ) to make this worth the effort now tbh.

Actually. there's more to say here.  If you are going to go down the route suggested, there is also a case for making a string table containing every string in the system.  The reason for doing this would be to support localisation - i.e. so that the web-site can implemented in different languages.

Sorry, I hadn't read @davecharles  comment re system params. I think either this approach or using a Django setting is fine. Both will need a template tag - https://docs.djangoproject.com/en/3.1/howto/custom-template-tags/
Please call the variables ORGANISATION_NAME and ORGANISATION_INITIALISM

Could we make the name of the product and its initialism a settings variable tied to an env var? That way we can change it any time.
These are now set in local.env, at least for dev purposes - was that what you meant?


Create ensta-bretagne.txt

The domain name for students at ENSTA Bretagne changed from .fr to .org
Please take this into considerations.
Thanks!

Was just added in #376.