Update README to reflect the purpose of this project

README has great technical intro for new comers. However, it is unclear what the purpose of this project is and where it will be used in the context of Ethiopia-COVID19.
@naody - do you agree?

@naody - I have created a PR to update the README. Will also be good to get a list of issues/features that people can contribute on? Is this something you have to hand? Can I help put these together?


nodejs events filteres for push:main (#15)

https://github.com/kiegroup/lock-treatment-tool/pull/19


Fix typos

Description (*)

Fixed Issues (if necessary)

Screenshots (if necessary)

Contribution checklist (*)

[ ] I have read the Contributing Guidelines
[ ] Commits have been made with meaningful commit messages
[ ] All automated tests have passed successfully

Automatic merge failed so I'm merging under #278


CSV to RDF KG and back

We should implement two features that one transforms a CSV file into RDF Knowledge Graph (KG) and the other transforms RDF KG into a CSV file.
Let's take a look at the transformation from a CSV file into RDF KG

The i-th row represents the first hop information (simplified CBD) of the i-th owl named individual.
A column represents a property (data property or type).
A value represents either a Literal or an OWL Class.

CSV Datasets: datasets from sklearn and fairlearn

I also added the kg to csv functionality (ie the inverse of csv to kg) here.
I also thought that maybe it makes sense to treat values that are strings and maybe are given as a parameter as type assertions:
https://github.com/dice-group/owlapy/blob/7972d4f6946c6597a59fbb7197d1c22ffc352230/owlapy/util_owl_static_funcs.py#L117C1-L126C67
For instance if we look at the following data - if a user says that genre is a type assertion this would create the kg graph accordingly:

Movie Title
Genre
Rating
Release Year
Duration (mins)
Director
IMDb Score

The Shawshank Redemption
Drama
R
1994
142
Frank Darabont
9.3

also maybe it would make sense to allow for a column to set the individual URI?
-> if using the title here this would lead to http://example.org/#the_shawshank_redemption


sample.yml has textual termsOfService not a URL as per spec

https://github.com/asyncapi/asyncapi/blob/develop/test/docs/sample.yml#L9

You can specify the terms of service here. It supports Markdown as well.

Should be

A URL to the Terms of Service for the API.

OpenAPI 3.0.0 adds to the field description:

MUST be in the format of a URL.

Oh, good catch. Thanks man will fix soon.

@MikeRalphson it's now fixed. Thanks again.


Define navigation levels 1 and 2

What
Decide what our understanding of level 1 and level 2 navigation is? Review the structure and examples tagged as 'site' and 'main'
Why
So we can clearly know the scope of what we're working on, as well as communicate clearly, we need to define what we mean when we talk about navigation levels 1 and 2.
Done when

[x] We have a document explaining what levels 1 and 2 mean that we can refer to during the making of the slides for the community and the making of the component.

Documents
Navigation level 1 and 2 research roundup

This has informed the next stages of our work.


readilibity of large number?

add space after every 100

seems hassle comparing to gain

https://stackoverflow.com/questions/16670125/python-format-string-thousand-separator-with-spaces


Managed Debugging Assistant 'LoaderLock'

Never got this error but for this time. Do you have any solutions to fix this ?
'DLL 'C:\Windows\assembly\GAC\Microsoft.DirectX.Direct3D\1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.Direct3D.dll' is attempting managed execution inside OS Loader lock. Do not attempt to run managed code inside a DllMain or image initialization function since doing so can cause the application to hang.'

Please tell me how you fixed this problem


E2e: Run on ARM alongside with x86

to prevent things like #557, a suggestion is to run e2e tests on arm as well as x86

I need it! Any updates?

@posquit0 wdym you "need" it? It's not a product feature, rather an infrastructure adjustment.

@Haarolean Sorry, I confused the issue number to comment.
https://github.com/kafbat/kafka-ui/issues/524
I want to run kafka-ui in production based on a specific version tag rather than the main image tag, but the latest version, 1.0.0, does not support ARM images.

@posquit0 there's an image tag for every commit pushed to main, feel free to use one of them
https://github.com/kafbat/kafka-ui/pkgs/container/kafka-ui


Prod ess

Resolved Issue 56 & 39
Added CEC info to ProdESS (and a couple things to ProdInverter)

I think we need to update the What's New file to reference Pull Request 69 rather than the Git Isssue numbers 56 and 39.  I need Cliff / Kevin to confirm though.

Validation issues will be fixed in #67


Configure react native android library to use npm installed react native

This will fix #48.

@maicki Apologies, I'm not that much of an Android developer. Would you mind explaining this change to me and how it differs from #39?

Resolved by #59


SHS-NG M6: Add cleaning of old elements from the store.

This change restores the functionality that keeps a limited number of
different types (jobs, stages, etc) depending on configuration, to avoid
the store growing indefinitely over time.
The feature is implemented by creating a new type (ElementTrackingStore)
that wraps a KVStore and allows triggers to be set up for when elements
of a certain type meet a certain threshold. Triggers don't need to
necessarily only delete elements, but the current API is set up in a way
that makes that use case easier.
The new store also has a trigger for the "close" call, which makes it
easier for listeners to register code that should be run before the
store is closed.
The old configurations for cleaning up the stored elements from the core
and SQL UIs are now active again, and the old unit tests are re-enabled.

so I don't forget, my own notes for reviewing this:

[ ] In SHS, SQL should show info for the last incomplete jobs


View ticket page are missing logout button

This was resolved in 58b270a9e7475aa7eab645fff7a1df5121e79c78

@xavanx I think this has been resolved


Update permission validation methods to throw exceptions

This cleans up the code a bit by having the validation methods just throw the permission exception instead of returning a boolean
This is a follow on to #2994

Full ITs passed so I'm going to go ahead and merge this for now but it may need to be reverted depending on what we do about #3010


Prometheus checks failing in Camel 4

See https://github.com/apache/camel-k/actions/runs/6250483200/job/16992484666?pr=4762
prometheus_test.go:65:
          	Error Trace:	/home/runner/work/camel-k/camel-k/e2e/common/traits/prometheus_test.go:65
          	Error:      	"# TYPE system_load_average_1m gauge\n# HELP system_load_average_1m The sum of the number of runnable entities queued to available processors and the number of runnable entities running on the available processors averaged over a period of time\nsystem_load_average_1m 2.1923828125\n# TYPE http_server_bytes_read summary\n# HELP http_server_bytes_read Number of bytes received by the server\nhttp_server_bytes_read_count 0.0\nhttp_server_bytes_read_sum 0.0\n# TYPE http_server_bytes_read_max gauge\n# HELP http_server_bytes_read_max Number of bytes received by the server\nhttp_server_bytes_read_max 0.0\n# TYPE camel_routes_running_routes gauge\n# HELP camel_routes_running_routes  \ncamel_routes_running_routes{camelContext=\"camel-1\",eventType=\"RouteEvent\",serviceName=\"MicrometerEventNotifierService\"} 1.0\n# TYPE jvm_threads_live_threads gauge\n# HELP jvm_threads_live_threads The current number of live threads including both daemon and non-daemon threads\njvm_threads_live_threads 13.0\n# T
  YPE system_cpu_usage gauge\n# HELP system_cpu_usage The \\\"recent cpu usage\\\" of the system the application is running in\nsystem_cpu_usage 6.681187741237206E-4\n# TYPE jvm_classes_unloaded_classes counter\n# HELP jvm_classes_unloaded_classes The total number of classes unloaded since the Java virtual machine has started execution\njvm_classes_unloaded_classes_total 0.0\n# TYPE camel_exchanges counter\n# HELP camel_exchanges Total number of processed exchanges\ncamel_exchanges_total{camelContext=\"camel-1\",routeId=\"route1\",serviceName=\"MicrometerRoutePolicyService\"} 1.0\n# TYPE jvm_gc_overhead_percent gauge\n# HELP jvm_gc_overhead_percent An approximation of the percent of CPU time used by GC activities over the last lookback period or since monitoring began, whichever is shorter, in the range [0..1]\njvm_gc_overhead_percent 0.015644135917346293\n# TYPE camel_exchanges_inflight gauge\n# HELP camel_exchanges_inflight Route inflight messages\ncamel_exchanges_inflight{camelContext=\"camel-1\",routeId=\"r
  oute1\",serviceName=\"MicrometerEventNotifierService\"} 0.0\n# TYPE process_files_max_files gauge\n# HELP process_files_max_files The maximum file descriptor count\nprocess_files_max_files 1048576.0\n# TYPE camel_exchanges_external_redeliveries counter\n# HELP camel_exchanges_external_redeliveries Number of external initiated redeliveries (such as from JMS broker)\ncamel_exchanges_external_redeliveries_total{camelContext=\"camel-1\",routeId=\"route1\",serviceName=\"MicrometerRoutePolicyService\"} 0.0\n# TYPE process_files_open_files gauge\n# HELP process_files_open_files The open file descriptor count\nprocess_files_open_files 427.0\n# TYPE jvm_gc_pause_seconds summary\n# HELP jvm_gc_pause_seconds Time spent in GC pause\njvm_gc_pause_seconds_count{action=\"end of minor GC\",cause=\"Metadata GC Threshold\",gc=\"G1 Young Generation\"} 1.0\njvm_gc_pause_seconds_sum{action=\"end of minor GC\",cause=\"Metadata GC Threshold\",gc=\"G1 Young Generation\"} 0.007\njvm_gc_pause_seconds_count{action=\"end of minor GC\",c
  ause=\"G1 Evacuation Pause\",gc=\"G1 Young Generation\"} 5.0\njvm_gc_pause_seconds_sum{action=\"end of minor GC\",cause=\"G1 Evacuation Pause\",gc=\"G1 Young Generation\"} 0.031\n# TYPE jvm_gc_pause_seconds_max gauge\n# HELP jvm_gc_pause_seconds_max Time spent in GC pause\njvm_gc_pause_seconds_max{action=\"end of minor GC\",cause=\"Metadata GC Threshold\",gc=\"G1 Young Generation\"} 0.007\njvm_gc_pause_seconds_max{action=\"end of minor GC\",cause=\"G1 Evacuation Pause\",gc=\"G1 Young Generation\"} 0.009\n# TYPE jvm_buffer_count_buffers gauge\n# HELP jvm_buffer_count_buffers An estimate of the number of buffers in the pool\njvm_buffer_count_buffers{id=\"mapped - 'non-volatile memory'\"} 0.0\njvm_buffer_count_buffers{id=\"mapped\"} 0.0\njvm_buffer_count_buffers{id=\"direct\"} 7.0\n# TYPE process_start_time_seconds gauge\n# HELP process_start_time_seconds Start time of the process since unix epoch.\nprocess_start_time_seconds 1.695285191841E9\n# TYPE camel_exchanges_failures_handled counter\n# HELP camel_exchang
  es_failures_handled Number of failures handled\ncamel_exchanges_failures_handled_total{camelContext=\"camel-1\",routeId=\"route1\",serviceName=\"MicrometerRoutePolicyService\"} 0.0\n# TYPE http_server_connections_seconds_max gauge\n# HELP http_server_connections_seconds_max The duration of the connections\nhttp_server_connections_seconds_max 0.035788216\n# TYPE http_server_connections_seconds summary\n# HELP http_server_connections_seconds The duration of the connections\nhttp_server_connections_seconds_active_count 1.0\nhttp_server_connections_seconds_duration_sum 0.035651715\n# TYPE jvm_threads_peak_threads gauge\n# HELP jvm_threads_peak_threads The peak live thread count since the Java virtual machine started or peak was reset\njvm_threads_peak_threads 13.0\n# TYPE worker_pool_queue_delay_seconds_max gauge\n# HELP worker_pool_queue_delay_seconds_max Time spent in the waiting queue before being processed\nworker_pool_queue_delay_seconds_max{pool_name=\"vert.x-internal-blocking\",pool_type=\"worker\"} 0.0\nw
  orker_pool_queue_delay_seconds_max{pool_name=\"vert.x-worker-thread\",pool_type=\"worker\"} 0.00174111\n# TYPE worker_pool_queue_delay_seconds summary\n# HELP worker_pool_queue_delay_seconds Time spent in the waiting queue before being processed\nworker_pool_queue_delay_seconds_count{pool_name=\"vert.x-internal-blocking\",pool_type=\"worker\"} 0.0\nworker_pool_queue_delay_seconds_sum{pool_name=\"vert.x-internal-blocking\",pool_type=\"worker\"} 0.0\nworker_pool_queue_delay_seconds_count{pool_name=\"vert.x-worker-thread\",pool_type=\"worker\"} 1.0\nworker_pool_queue_delay_seconds_sum{pool_name=\"vert.x-worker-thread\",pool_type=\"worker\"} 0.00174111\n# TYPE jvm_memory_used_bytes gauge\n# HELP jvm_memory_used_bytes The amount of used memory\njvm_memory_used_bytes{area=\"nonheap\",id=\"CodeHeap 'profiled nmethods'\"} 7538816.0\njvm_memory_used_bytes{area=\"heap\",id=\"G1 Survivor Space\"} 2228208.0\njvm_memory_used_bytes{area=\"heap\",id=\"G1 Old Gen\"} 4.6693888E7\njvm_memory_used_bytes{area=\"nonheap\",id=\"Me
  taspace\"} 5.0203272E7\njvm_memory_used_bytes{area=\"nonheap\",id=\"CodeHeap 'non-nmethods'\"} 1326336.0\njvm_memory_used_bytes{area=\"heap\",id=\"G1 Eden Space\"} 7340032.0\njvm_memory_used_bytes{area=\"nonheap\",id=\"Compressed Class Space\"} 6440376.0\njvm_memory_used_bytes{area=\"nonheap\",id=\"CodeHeap 'non-profiled nmethods'\"} 1551232.0\n# TYPE camel_exchanges_succeeded counter\n# HELP camel_exchanges_succeeded Number of successfully completed exchanges\ncamel_exchanges_succeeded_total{camelContext=\"camel-1\",routeId=\"route1\",serviceName=\"MicrometerRoutePolicyService\"} 1.0\n# TYPE jvm_buffer_memory_used_bytes gauge\n# HELP jvm_buffer_memory_used_bytes An estimate of the memory that the Java virtual machine is using for this buffer pool\njvm_buffer_memory_used_bytes{id=\"mapped - 'non-volatile memory'\"} 0.0\njvm_buffer_memory_used_bytes{id=\"mapped\"} 0.0\njvm_buffer_memory_used_bytes{id=\"direct\"} 2432220.0\n# TYPE jvm_threads_started_threads counter\n# HELP jvm_threads_started_threads The total
   number of application threads started in the JVM\njvm_threads_started_threads_total 14.0\n# TYPE jvm_info counter\n# HELP jvm_info JVM version info\njvm_info_total{runtime=\"OpenJDK Runtime Environment\",vendor=\"Eclipse Adoptium\",version=\"<IP_ADDRESS>+1\"} 1.0\n# TYPE jvm_memory_committed_bytes gauge\n# HELP jvm_memory_committed_bytes The amount of memory in bytes that is committed for the Java virtual machine to use\njvm_memory_committed_bytes{area=\"nonheap\",id=\"CodeHeap 'profiled nmethods'\"} 7602176.0\njvm_memory_committed_bytes{area=\"heap\",id=\"G1 Survivor Space\"} 3145728.0\njvm_memory_committed_bytes{area=\"heap\",id=\"G1 Old Gen\"} 7.4448896E7\njvm_memory_committed_bytes{area=\"nonheap\",id=\"Metaspace\"} 5.0659328E7\njvm_memory_committed_bytes{area=\"nonheap\",id=\"CodeHeap 'non-nmethods'\"} 2555904.0\njvm_memory_committed_bytes{area=\"heap\",id=\"G1 Eden Space\"} 1.572864E7\njvm_memory_committed_bytes{area=\"nonheap\",id=\"Compressed Class Space\"} 6619136.0\njvm_memory_committed_bytes{area=\"no
  nheap\",id=\"CodeHeap 'non-profiled nmethods'\"} 2555904.0\n# TYPE process_cpu_usage gauge\n# HELP process_cpu_usage The \\\"recent cpu usage\\\" for the Java Virtual Machine process\nprocess_cpu_usage 6.635049151165598E-4\n# TYPE camel_route_policy_seconds summary\n# HELP camel_route_policy_seconds Route performance metrics\ncamel_route_policy_seconds_count{camelContext=\"camel-1\",routeId=\"route1\",serviceName=\"MicrometerRoutePolicyService\"} 1.0\ncamel_route_policy_seconds_sum{camelContext=\"camel-1\",routeId=\"route1\",serviceName=\"MicrometerRoutePolicyService\"} 0.006433839\n# TYPE camel_route_policy_seconds_max gauge\n# HELP camel_route_policy_seconds_max Route performance metrics\ncamel_route_policy_seconds_max{camelContext=\"camel-1\",routeId=\"route1\",serviceName=\"MicrometerRoutePolicyService\"} 0.006433839\n# TYPE process_uptime_seconds gauge\n# HELP process_uptime_seconds The uptime of the Java virtual machine\nprocess_uptime_seconds 4.317\n# TYPE jvm_classes_loaded_classes gauge\n# HELP jvm_c
  lasses_loaded_classes The number of classes that are currently loaded in the Java virtual machine\njvm_classes_loaded_classes 9267.0\n# TYPE jvm_memory_max_bytes gauge\n# HELP jvm_memory_max_bytes The maximum amount of memory in bytes that can be used for memory management\njvm_memory_max_bytes{area=\"nonheap\",id=\"CodeHeap 'profiled nmethods'\"} 1.22912768E8\njvm_memory_max_bytes{area=\"heap\",id=\"G1 Survivor Space\"} -1.0\njvm_memory_max_bytes{area=\"heap\",id=\"G1 Old Gen\"} 1.816133632E9\njvm_memory_max_bytes{area=\"nonheap\",id=\"Metaspace\"} -1.0\njvm_memory_max_bytes{area=\"nonheap\",id=\"CodeHeap 'non-nmethods'\"} 5828608.0\njvm_memory_max_bytes{area=\"heap\",id=\"G1 Eden Space\"} -1.0\njvm_memory_max_bytes{area=\"nonheap\",id=\"Compressed Class Space\"} 1.073741824E9\njvm_memory_max_bytes{area=\"nonheap\",id=\"CodeHeap 'non-profiled nmethods'\"} 1.22916864E8\n# TYPE camel_routes_added_routes gauge\n# HELP camel_routes_added_routes  \ncamel_routes_added_routes{camelContext=\"camel-1\",eventType=\"Ro
  uteEvent\",serviceName=\"MicrometerEventNotifierService\"} 1.0\n# TYPE jvm_gc_live_data_size_bytes gauge\n# HELP jvm_gc_live_data_size_bytes Size of long-lived heap memory pool after reclamation\njvm_gc_live_data_size_bytes 0.0\n# TYPE system_cpu_count gauge\n# HELP system_cpu_count The number of processors available to the Java virtual machine\nsystem_cpu_count 2.0\n# TYPE jvm_threads_daemon_threads gauge\n# HELP jvm_threads_daemon_threads The current number of live daemon threads\njvm_threads_daemon_threads 8.0\n# TYPE camel_exchange_event_notifier_seconds_max gauge\n# HELP camel_exchange_event_notifier_seconds_max  \ncamel_exchange_event_notifier_seconds_max{camelContext=\"camel-1\",endpointName=\"timer://tick\",eventType=\"ExchangeCompletedEvent\",failed=\"false\",serviceName=\"MicrometerEventNotifierService\"} 0.008085349\n# TYPE camel_exchange_event_notifier_seconds summary\n# HELP camel_exchange_event_notifier_seconds  \ncamel_exchange_event_notifier_seconds_count{camelContext=\"camel-1\",endpointName=
  \"timer://tick\",eventType=\"ExchangeCompletedEvent\",failed=\"false\",serviceName=\"MicrometerEventNotifierService\"} 1.0\ncamel_exchange_event_notifier_seconds_sum{camelContext=\"camel-1\",endpointName=\"timer://tick\",eventType=\"ExchangeCompletedEvent\",failed=\"false\",serviceName=\"MicrometerEventNotifierService\"} 0.008085349\n# TYPE jvm_threads_states_threads gauge\n# HELP jvm_threads_states_threads The current number of threads\njvm_threads_states_threads{state=\"runnable\"} 7.0\njvm_threads_states_threads{state=\"blocked\"} 0.0\njvm_threads_states_threads{state=\"waiting\"} 3.0\njvm_threads_states_threads{state=\"timed-waiting\"} 3.0\njvm_threads_states_threads{state=\"new\"} 0.0\njvm_threads_states_threads{state=\"terminated\"} 0.0\n# TYPE worker_pool_idle gauge\n# HELP worker_pool_idle The number of resources from the pool currently used\nworker_pool_idle{pool_name=\"vert.x-internal-blocking\",pool_type=\"worker\"} 20.0\nworker_pool_idle{pool_name=\"vert.x-worker-thread\",pool_type=\"worker\"} 19.
  0\n# TYPE jvm_buffer_total_capacity_bytes gauge\n# HELP jvm_buffer_total_capacity_bytes An estimate of the total capacity of the buffers in this pool\njvm_buffer_total_capacity_bytes{id=\"mapped - 'non-volatile memory'\"} 0.0\njvm_buffer_total_capacity_bytes{id=\"mapped\"} 0.0\njvm_buffer_total_capacity_bytes{id=\"direct\"} 2432219.0\n# TYPE worker_pool_usage_seconds summary\n# HELP worker_pool_usage_seconds Time spent using resources from the pool\nworker_pool_usage_seconds_count{pool_name=\"vert.x-internal-blocking\",pool_type=\"worker\"} 0.0\nworker_pool_usage_seconds_sum{pool_name=\"vert.x-internal-blocking\",pool_type=\"worker\"} 0.0\nworker_pool_usage_seconds_count{pool_name=\"vert.x-worker-thread\",pool_type=\"worker\"} 0.0\nworker_pool_usage_seconds_sum{pool_name=\"vert.x-worker-thread\",pool_type=\"worker\"} 0.0\n# TYPE worker_pool_usage_seconds_max gauge\n# HELP worker_pool_usage_seconds_max Time spent using resources from the pool\nworker_pool_usage_seconds_max{pool_name=\"vert.x-internal-blocking\
  ",pool_type=\"worker\"} 0.0\nworker_pool_usage_seconds_max{pool_name=\"vert.x-worker-thread\",pool_type=\"worker\"} 0.0\n# TYPE worker_pool_active gauge\n# HELP worker_pool_active The number of resources from the pool currently used\nworker_pool_active{pool_name=\"vert.x-internal-blocking\",pool_type=\"worker\"} 0.0\nworker_pool_active{pool_name=\"vert.x-worker-thread\",pool_type=\"worker\"} 1.0\n# TYPE jvm_gc_max_data_size_bytes gauge\n# HELP jvm_gc_max_data_size_bytes Max size of long-lived heap memory pool\njvm_gc_max_data_size_bytes 1.816133632E9\n# TYPE jvm_gc_memory_allocated_bytes counter\n# HELP jvm_gc_memory_allocated_bytes Incremented for an increase in the size of the (young) heap memory pool after one GC to before the next\njvm_gc_memory_allocated_bytes_total 1.048576E8\n# TYPE http_server_active_requests gauge\n# HELP http_server_active_requests  \nhttp_server_active_requests 1.0\n# TYPE worker_pool_queue_size gauge\n# HELP worker_pool_queue_size Number of pending elements in the waiting queue\nw
  orker_pool_queue_size{pool_name=\"vert.x-internal-blocking\",pool_type=\"worker\"} 0.0\nworker_pool_queue_size{pool_name=\"vert.x-worker-thread\",pool_type=\"worker\"} 0.0\n# TYPE http_server_bytes_written_max gauge\n# HELP http_server_bytes_written_max Number of bytes sent by the server\nhttp_server_bytes_written_max 0.0\n# TYPE http_server_bytes_written summary\n# HELP http_server_bytes_written Number of bytes sent by the server\nhttp_server_bytes_written_count 0.0\nhttp_server_bytes_written_sum 0.0\n# TYPE worker_pool_completed counter\n# HELP worker_pool_completed Number of times resources from the pool have been acquired\nworker_pool_completed_total{pool_name=\"vert.x-internal-blocking\",pool_type=\"worker\"} 0.0\nworker_pool_completed_total{pool_name=\"vert.x-worker-thread\",pool_type=\"worker\"} 0.0\n# TYPE jvm_gc_memory_promoted_bytes counter\n# HELP jvm_gc_memory_promoted_bytes Count of positive increases in the size of the old generation memory pool before GC to after GC\njvm_gc_memory_promoted_byte
  s_total 2.4179712E7\n# TYPE camel_exchanges_failed counter\n# HELP camel_exchanges_failed Number of failed exchanges\ncamel_exchanges_failed_total{camelContext=\"camel-1\",routeId=\"route1\",serviceName=\"MicrometerRoutePolicyService\"} 0.0\n# TYPE jvm_memory_usage_after_gc_percent gauge\n# HELP jvm_memory_usage_after_gc_percent The percentage of long-lived heap pool used after the last GC event, in the range [0..1]\njvm_memory_usage_after_gc_percent{area=\"heap\",pool=\"long-lived\"} 0.02571060145424365\n# TYPE worker_pool_ratio gauge\n# HELP worker_pool_ratio Pool usage ratio\nworker_pool_ratio{pool_name=\"vert.x-internal-blocking\",pool_type=\"worker\"} NaN\nworker_pool_ratio{pool_name=\"vert.x-worker-thread\",pool_type=\"worker\"} 0.05\n# EOF\n" does not contain "CamelExchangesTotal_total"

Originally posted by @squakez in https://github.com/apache/camel-k/issues/4762#issuecomment-1729853227

I'll take care of it


popping JSQMessagesViewController from uinavcontroller mess up other frames

hey, sorry, i found out some other parts of my code that might causing that.

This isn't related to JSQMessagesViewController at all. To confirm this, push any other viewController on top of that one, and test if popping it results in the same effect.
ps. if you don't use constraints, at least use autoresizing
cheers!

@gcarlo89 thanks, but actually i did push some plain view controller and when popping it everything was at the right place :)
but if found some setTranslatesAutoresizingMaskIntoConstraints calls to the labels that was suddenly showed up in different places.
and yeah, i definitely should start using constraints!
thanks mate.


Complex Schema Deserialization Issues

Describe the bug
message.value() deserialization failing with complex schema defined within the Python client when using Json and Avro schemas.
To Reproduce
Steps to reproduce the behavior:

Run the "pulsar-all" image in a Docker container
Configure a nested object that uses a previously defined record as a field in another using the Python client
Attempt to deserialize the messages from a topic with the nested object using message.value()
See error (IndexError: list out of range with Avro, TypeError: '' found when ${INSERT_YOUR_DEFINED_SUBSCHEMA} expected" with Json)

Expected behavior
Objects correctly deserialized from Json/Avro to the type specified in the schemas.
Desktop (please complete the following information):

OS: CentOS 7, Docker version 19.03.13, build 4484c46d9d

@EliHarper which version of the Pulsar image are you using?
@gaoran10 @congbobo184  to take a look. Since is easy to reproduce, also mark this as help-wanted, anyone is interested in this issue could also to have a try.

I'm sorry for the late response, and thanks for getting back to me.
I'm pulled the latest on 11/9, which I believe is 2.6.2, according to the digest (4baf6e...)
Thanks again for your help, and please let me know if there's anything else I can get for you.

Closed as stale. Please create a new issue if it's still relevant to the maintained versions.


FIX: modDir pathname. delete first / from pathname

Hello. I tried to create the application using npm create firebolt@latest but failed due to an error with the paths.
When calling new URL('.', import.meta.url).pathname, I received a path that starts with the "/" character. Because of this, in the future, with path.join, the disk was added to the beginning again.

If you remove the "/" the error disappears and everything works.

Unfortunately, I couldn't quickly figure out what the problem was.
The first problem is also related to pathname.

When I remove this code, the problem goes away, but the next one appears.
The second problem is also related to paths, but it has something to do with absolute paths in Windows, as I understand it. But this is not a fact.

I updated both npm and node to the latest versions, the problem remained.
I have windows 10.

Thanks for digging in and having a look! Are you able to help me out a bit, I don't have access to windows right now:

What is the exact output of import.meta.url for you?
What is the exact output of new URL('.', import.meta.url).pathname

I just want to check what the discrepancies for these are on windows vs osx, then I should be able to fix it.
There are a few places we rely on import.meta.url in the code base so they will all need to be updated, most likely.

@ashconnell Hi, sorry, I didn't notice the message right away.
Yes, sure.
Paths for in packages/create-firebolt/src/index.
import.meta.url:  file:///C:/dev/opensource/firebolt/packages/create-firebolt/src/index.js
new URL(".", import.meta.url).pathname:  /C:/dev/opensource/firebolt/packages/create-firebolt/src/
path.join(modDir, "../package.json"):  \C:\dev\opensource\firebolt\packages\create-firebolt\package.json

And because of the "\" at the beginning of \C:\dev... i get this error where C:\ is added to the beginning again

but if you remove the "\" the paths become normal and there is no error.

Similar problems are found in other places. For the same reason I can't start the dev server, for example.


Ensure datetime fields are stored in UTC

We need to ensure that datetime fields used in the model, e.g. added_on, updated_on, are stored in UTC.

So after reading Django's documentation on timezones, I realized datetime fields are automatically handled by Django by default, as long as the USE_TZ is True. Some useful paragraphs:

Time zone support is disabled by default. To enable it, set USE_TZ = True in your settings file. Installing pytz is highly recommended, but may not be mandatory depending on your particular database backend, operating system and time zone. If you encounter an exception querying dates or times, please try installing it before filing a bug. It’s as simple as:

$ pip install pytz

and

The default settings.py file created by django-admin startproject includes USE_TZ = True for convenience.

and

Python’s datetime.datetime objects have a tzinfo attribute that can be used to store time zone information, represented as an instance of a subclass of datetime.tzinfo. When this attribute is set and describes an offset, a datetime object is aware. Otherwise, it’s naive.

and

Dealing with aware datetime objects isn’t always intuitive. For instance, the tzinfo argument of the standard datetime constructor doesn’t work reliably for time zones with DST. Using UTC is generally safe; if you’re using other time zones, you should review the pytz documentation carefully.

and

The PostgreSQL backend stores datetimes as timestamp with time zone. In practice, this means it converts datetimes from the connection’s time zone to UTC on storage, and from UTC to the connection’s time zone on retrieval.

As a consequence, if you’re using PostgreSQL, you can switch between USE_TZ = False and USE_TZ = True freely. The database connection’s time zone will be set to TIME_ZONE or UTC respectively, so that Django obtains correct datetimes in all cases. You don’t need to perform any data conversions.
and

The first step is to add USE_TZ = True to your settings file and install pytz (if possible). At this point, things should mostly work. If you create naive datetime objects in your code, Django makes them aware when necessary.

However, these conversions may fail around DST transitions, which means you aren’t getting the full benefits of time zone support yet. Also, you’re likely to run into a few problems because it’s impossible to compare a naive datetime with an aware datetime.

So the second step is to refactor your code wherever you instantiate datetime objects to make them aware. This can be done incrementally. django.utils.timezone defines some handy helpers for compatibility code: now(), is_aware(), is_naive(), make_aware(), and make_naive().

Finally, in order to help you locate code that needs upgrading, Django raises a warning when you attempt to save a naive datetime to the database.

Further to my comment above, I tried changing the time zone of the development server as explained here and then tried to save objects to the database and it did correctly save the times (added_on, updated_on).
Helpful commands:

To know your (current time)[http://superuser.com/questions/309034/how-to-check-which-timezone-in-linux] zone in Ubuntu:

date +'%:z %Z'

To reconfigure time zone:

 sudo dpkg-reconfigure tzdata

To get information about the current time zone:

timedatectl


Pull Request Preview Environments for increasing maintainer productivity

I would like to make life easier for Amundsen maintainers by implementing Uffizzi preview environments.
Disclaimer: I work on Uffizzi.
Uffizzi is a Open Source full stack previews engine and our platform is available completely free for Amundsen (and all open source projects). This will provide maintainers with preview environments of their PRs in the cloud, allowing them iterate faster and reduce time to merge. You can see the open source repos which are currently using Uffizzi over here
Uffizzi is purpose-built for the task of previewing PRs and it integrates with your workflow to deploy preview environments in the background without any manual steps for maintainers or contributors.
I can go ahead and create an Initial PoC for you right away if you think there is value in this proposal.
TODO:

[ ] Intial PoC

@waveywaves ping


Roll Engine from 7851449b4d33 to 6c2db76dcad1 (1 revision)

https://github.com/flutter/engine/compare/7851449b4d33...6c2db76dcad1
2021-07-12<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from rc7UXpK1K... to PzuC0jXIy... (flutter/engine#27323)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from rc7UXpK1KD72 to PzuC0jXIynBW
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Emit no-cache headers for SAML messages

Hi @c00kiemon5ter ,
When testing my deployment, I ran into a caching issue where my browser would replay stale SAML messages originally sent by the SATOSA saml2 backend.
I can see the SAML2 Bindings spec asks for headers disabling caching - essentially:
Cache-Control: no-cache, no-store
Pragma: no-cache

However, when digging into SATOSA and pysaml2, I found that:

pysaml2 only sets these headers when sending a SAMLResponse (so when acting as an IdP / frontend)
SATOSA discards headers in redirects

I have a working solution that:
(1) Makes SATOSA pass the headers along:
diff --git a/src/satosa/saml_util.py b/src/satosa/saml_util.py
index fced075..9e58dfd 100644
--- a/src/satosa/saml_util.py
+++ b/src/satosa/saml_util.py
@@ -12,6 +12,6 @@ def make_saml_response(binding, http_args):
     """
     if binding == BINDING_HTTP_REDIRECT:
         headers = dict(http_args["headers"])
-        return SeeOther(str(headers["Location"]))
+        return SeeOther(str(headers["Location"]), headers=http_args["headers"])

     return Response(http_args["data"], headers=http_args["headers"])

(2) Makes pysaml2 emit the headers - setting the above Cache-Control and Pragma headers in apply_binding in entity.py:
        if 'headers' not in info:
            info['headers'] = []
        info['headers'].extend([
                    ("Cache-Control", "no-cache, no-store"),
                    ("Pragma", "no-cache")
                    ])

(This could replace the existing use of these headers in use_http_uri in httpbase.py).
But before sending a set of PRs, I wanted to get feedback on this - whether it would be an appropriate change.
Thanks a lot in advance for getting back to me.
Cheers,
Vlad
Code Version
SATOSA 8.1.1
pysaml 7.2.1
Expected Behavior
No-cache headers sent.
Current Behavior
No-cache headers not sent.
Possible Solution
Send no-cache headers on all SAML requests as per above.
Steps to Reproduce
The browser caching may not be entirely reproducible, but:

Open a mod_auth_oidc protected page.
Wait about 20 minutes (for the original SAML AuthnRequest to become expired and for the document to expire from browser cache)
Duplicate the tab, triggering  a new cached load.
As the browser follows the redirects, it may reuse the cached response from SATOSA with the SAML AuthnRequest, triggering an error on the IdP.

First of all, I think we should fix this 👍
The code on satosa should definitely use the headers, but we need to ensure we do not duplicate them. For example SeeOther takes a redirect_url and adds it to the given headers under the Location header. In our case, the headers already include that header.
(1) should be done, with a few checks or using satosa.response.Response class directly. If we implement the checks I am thinking those should be internal to the classes, otherwise we need to prepare the proper data outside the classes (in make_saml_response).
(2) maybe we should add the headers lower in saml2.httpbase and saml2.pack.http_*_message ..but we already define the method and status and url on saml2.entity.Entity.apply_binding. I think it's fine to have this on apply_binding next to the bindings, but then we should clean the lower-level methods from this aspect. I think it's more important to be consistent on where the headers are set.


feature: IMEI validation

Creates a validation functions that validates a IMEI (International Mobile Equipment Identity).
INFO: https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity
[x]: tests added
[x]: docs placeholder added

Thank you for your contribution. I will check your code in the next few days.


Updated to work with node 6

AssertionError: Current node version is not supported for development, expected "6.2.2" to satisfy "4.x || 5.x".
After patch tested with node 6.2.2 all seems to work well . .

Thanks 💓


chore(main): release 1.0.3

:robot: I have created a release beep boop
1.0.3 (2023-02-12)
Bug Fixes

ci: fix lint errors (2967ba7)
default option values. (60ba06e)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/northeye/chissoku/releases/tag/v1.0.3 :sunflower:


edges(Select.NEW) fails for chamfer

with BuildPart() as p:
    Box(10,10,10)
    chamfer(edges(), 1)
    e = edges(Select.NEW)
    assert e

AssertionError

topology.new_edges "sequence of shapes" needs to account for Mode.

Maybe this is more of a documentation/expectations problem.  Select.NEW is designed to find new edges that were not in either of the Shapes being combined as follows:
with BuildPart() as new_ex:
    Box(10, 10, 10)
    Cylinder(2, 20)
    n = edges(Select.NEW)

so that these new edges could be easily worked with (for example, filleted).  Select.LAST will select all of the edges changed by the last operation, as shown here for the above example:

Does this address the issue?

I might have missed it but I could't find documentation for Select.NEW. For the example below:
with BuildPart() as part:
    Box(10, 10, 10)
    chamfer(edges()>>Axis.Z<<Axis.Y, 5)
    new = edges(select=Select.NEW)
    last = edges(select=Select.LAST)

I get the following. The edges under "new expected" did not exist in the object prior to the chamfer operation (although you could argue one of the |X edges was the original edge moved).


[Docs] Update regex to include query strings

The regex http.request.uri.path under the Modify existing URLS to be compatible with transformations in Images section did not include the query string needed to rewrite the width and height params accordingly.
Changed to http.request.uri.

Hi @ericalli
Thank you for contributing, but I already merged this change in #12685 (it fixed the exact same thing!).


Need support for DiskIO stats

Currently there is no support for DiskIO stats in heapster.

This is not tracked by Kubelet/cadvisor so we can't do it easily in Heapster.
@dchen1107 @timstclair @vishh is there any plan to track such metrics on Kubelet side?

These actually are collected by cAdvisor (https://github.com/google/cadvisor/blob/b4f1d7b82f87459070b58052b71ac4524a4344c3/info/v1/container.go#L301), but not surfaced in the summary API since heapster wasn't using them. If we want to include them in heapster, we could add them to the summary.

+1 for adding it to the summary API. We need to expose it in a more user
friendly fashion than what cAdvisor does though.
On Thu, Jun 23, 2016 at 1:01 PM, Tim St. Clair<EMAIL_ADDRESS>wrote:

These actually are collected by cAdvisor (
https://github.com/google/cadvisor/blob/b4f1d7b82f87459070b58052b71ac4524a4344c3/info/v1/container.go#L301),
but not surfaced in the summary API since heapster wasn't using them. If we
want to include them in heapster, we could add them to the summary.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/heapster/issues/1155#issuecomment-228166566,
or mute the thread
https://github.com/notifications/unsubscribe/AGvIKIQn8MLNh_ojjEDEeHsCvYnF0dh9ks5qOuYvgaJpZM4Icdgg
.

Ups, sorry @timstclair for the confusion.


iOS App connects to BLE peripheral on 1st attempt. Fails to find BLE peripheral on subsequent app launches / device scans

I've built an iOS app using React & Ionic which connects to a BLE peripheral / GATT server device to read data etc. The app runs fine on the web in chrome, and works as expected when compiled as an Android app.
The iOS app compiles without issues and validates in App Connect. However, I'm having trouble connecting to the BLE peripheral from my iPad on iOS 15.4.1. The very first time I run the app on the iPad and scan for BLE devices it finds the peripheral and will connect. It only grabs some of the read requests that I make and then appears to disconnect.
If I try to reconnect by doing another scan it finds no devices. If I close and relaunch the app it still finds no devices. If, I turn off the iPad and the BLE peripheral before relaunching the app... still no devices found.
I've left both devices off for an hour or more and still its unable to find the device. I've even wiped the network and bluetooth settings from the iPad and it still doesn't work. I've uninstalled & re-installed the app, with no benefit. I even resorted to doing a full device reset of the iPad, reinstalled the app and tried again. This time a device scan in the app found the device and temporarily connected before being unable to find the device again.
Right now I'm really unsure as to what's happening and why.

It's hard to say what is going on. Do you get any errors in Xcode? Have you tried scanning with another app (e.g. NRF connect) or the iOS Bluetooth settings?


How to write tests for the consensus layer

Hi Ori, nice to find you here in the consensus specs repo, thanks for the help documenting testing!
Some nitpicks in review, but generally this is very helpful, thank you 👍

Nice to find you here too. Yes, I've been writing helping out EF with documentation and testing for a while now, long before I've even heard of Optimism.
I'm glad it helps. It's always difficult to know how much detail to put in a tutorial.


subscriptions through SSL (https)

Hi. I updated my server to a secure endpoint. I changed the HttpLink uri from http://localhost:8080/graphql -> https://localhost:443/graphql. All graphql query seems to work fine.
Now, changed the subscription uri from ws://localhost:8080/subscriptions to ws://localhost:443/subscriptions. But I see these error
flutter: Disconnected from websocket.
flutter: Scheduling to connect in 5 seconds...
flutter: Connecting to websocket: ws://localhost:443/subscriptions...
flutter: There was an error causing connection lost: HttpException: Invalid request method, uri = http://localhost:443/subscriptions

this may work if uri is https://localhost:443/subscriptions, but this created somewhere by the framework. Is there a configuration I can change so subscription work through https . Any pointers appreciated.
thanks.

wss://localhost:443/subscriptions should work, though there are a couple issues with dart sockets. I'm pretty sure the url for the socket client gets passed through unchanged though

@micimize thank you so much for the help. I will test it at the earliest and get back with you. Have a great weekend.


Add support for Gemfile groups

Support for groups in Gemfiles would be great. For instance, I have a group defined for tests:
group :test do
  gem 'cucumber', '~> 2.3'
  gem 'rspec-expectations'
  gem 'poltergeist', ">= 1.4.0"
  gem 'selenium-webdriver'
  gem 'launchy'
  gem 'rest-client'
  gem 'html-proofer'
end

I don't need these to be installed when I launch a container to develop the site or to build and deploy it, but only for tests at the end. If there's a way to do this already, I haven't found it. I'd imagine this could be handled by another environment variable perhaps?
The bundle command to install all but the gems in a group is
bundle install --without test

Directly handling this is out of scope for our image, it's already handled multiple ways. Upstream envygeeks/alpine provides you access to BUNDLE_ARGS so you can do stuff through us without having to use your own commands and Bundler itself provides BUNDLE_WITHOUT.  We do not restrict or remove any environment variables you send.

Alright, thanks, that answers my question. I reckon I didn't read the docs of upstream images.

Gonna go ahead and document this behavior on our documentation because it's useful for all to know!


feat(json): replaced standard json by jsoniter

Signed-off-by: Frederic BIDON<EMAIL_ADDRESS>
fixes #358
NOTE: breaking change with old go support (requires go1.7+)

Benchmarks
This section describe gains from migrating from encoding/json standard library to jsoniter (github.com/json-iterator/go).
TL;DR: pure JSON operations are about 30% faster, HS signing methods about 10% faster, whereas RSA signing methods remain
dominated by cryptographic operations,  making the impact of JSON improvements negligible.
Note that the parsing benchmark uses a small token with only a few claims: for large complex tokens, actual benefit is larger.
go version go1.12.6 linux/amd64, Intel Core<EMAIL_ADDRESS>GHz (dual core)
$ go test -bench=. -benchmem -benchtime 10s
Signing benchmarks
HS algorithms - Standard encoding/json
BenchmarkHS256Signing-4   	10000000	      2458 ns/op	    1584 B/op	      32 allocs/op
BenchmarkHS384Signing-4   	 5000000	      2790 ns/op	    1968 B/op	      32 allocs/op
BenchmarkHS512Signing-4   	 5000000	      2799 ns/op	    2064 B/op	      32 allocs/op
HS algorithms - jsoniter
BenchmarkHS256Signing-4   	10000000	      2036 ns/op	    1308 B/op	      26 allocs/op
BenchmarkHS384Signing-4   	10000000	      2359 ns/op	    1693 B/op	      26 allocs/op
BenchmarkHS512Signing-4   	10000000	      2412 ns/op	    1789 B/op	      26 allocs/op
RS algorithms - Standard encoding/json
BenchmarkRS256Signing-4   	   20000	    926550 ns/op	   49217 B/op	     169 allocs/op
BenchmarkRS384Signing-4   	   20000	    907624 ns/op	   49329 B/op	     169 allocs/op
BenchmarkRS512Signing-4   	   20000	    941379 ns/op	   49346 B/op	     169 allocs/op
RS algorithms - jsoniter
BenchmarkRS256Signing-4   	   20000	    920077 ns/op	   48970 B/op	     164 allocs/op
BenchmarkRS384Signing-4   	   20000	    939164 ns/op	   49082 B/op	     164 allocs/op
BenchmarkRS512Signing-4   	   20000	    913491 ns/op	   49100 B/op	     164 allocs/op

Claims parsing benchmark
ParseUnverified applied on small token with a few custom claims.
standard json lib     BenchmarkParsing-4        	 2000000	      6556 ns/op	    4192 B/op	      94 allocs/op
jsoniter              BenchmarkParsing-4        	 3000000	      4886 ns/op	    3657 B/op	      91 allocs/op

I would prefer to keep this library as free as possible of external dependencies. Version 4.0.0 introduces a method for you to drop in a different encoder for your own use.

@dgrijalva. Sure. I didn't get that part. I'll wait for the new release, upgrade and pick my jsoniter.
This PR will probably serve as a base for an example, I suppose.


Complete changes needed for pluggable feature extractors

As we continue to work to get the LAISS feature extractor working as a plug in, we're discovering more hurdles in RESSPECT. This issue tracks fixing those issues.
The primary issue at this point is in the fit_lightcurve module. Specifically, fit_TOM and _TOM_sample_fit have several hardcoded values set on the light_curve subclass that is being used.

Completed as part of PR #90


GitHubVulnerabilties2Db build break due to DI change

Including the feature flag service in the constructor of the package service has broken dependency injection in GitHubVulnerabilities2Db.

As this is a DI fix and currently deployed instances aren't affected, will close this without stepping through redeployments.


Install bug 'ModuleNotFoundError: No module named 'ietf.settings_local''

Describe the issue
After following the install docs it suggests running a test to verify the install,
ietf/manage.py test --settings=settings_test

which results in...
Traceback (most recent call last):
  File "/workspace/ietf/manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/home/dev/.local/lib/python3.9/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/home/dev/.local/lib/python3.9/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/dev/.local/lib/python3.9/site-packages/django/core/management/commands/test.py", line 24, in run_from_argv
    super().run_from_argv(argv)
  File "/home/dev/.local/lib/python3.9/site-packages/django/core/management/base.py", line 404, in run_from_argv
    parser = self.create_parser(argv[0], argv[1])
  File "/home/dev/.local/lib/python3.9/site-packages/django/core/management/base.py", line 367, in create_parser
    self.add_arguments(parser)
  File "/home/dev/.local/lib/python3.9/site-packages/django/core/management/commands/test.py", line 54, in add_arguments
    test_runner_class = get_runner(settings, self.test_runner)
  File "/home/dev/.local/lib/python3.9/site-packages/django/test/utils.py", line 388, in get_runner
    test_runner_class = test_runner_class or settings.TEST_RUNNER
  File "/home/dev/.local/lib/python3.9/site-packages/django/conf/__init__.py", line 102, in __getattr__
    self._setup(name)
  File "/home/dev/.local/lib/python3.9/site-packages/django/conf/__init__.py", line 89, in _setup
    self._wrapped = Settings(settings_module)
  File "/home/dev/.local/lib/python3.9/site-packages/django/conf/__init__.py", line 217, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/workspace/ietf/settings_test.py", line 13, in <module>
    from ietf.settings import *                                          # pyflakes:ignore
  File "/workspace/ietf/settings.py", line 1190, in <module>
    from ietf.settings_local import *            # pyflakes:ignore pylint: disable=wildcard-import
ModuleNotFoundError: No module named 'ietf.settings_local'

@kesara suggests that "looks like docker scripts aren't copying the file." (ietf/settings_local.py or similar)
Code of Conduct

[X] I agree to follow the IETF's Code of Conduct

Strange - your shell was in the app container? That should be getting a settings_local.py via https://github.com/ietf-tools/datatracker/blob/3d4482533322f49dc4b9c9b15660436749470dc8/docker/scripts/app-init.sh#L40-L46 which hasn't changed in a while. @NGPixel might know if it behaves differently in VSCode, though.

That was caused by the app-init.sh script not having write access to the project directory. Running a chown -R $USER:$USER /workspace then the app-init.sh fixes the issue.

Underlying cause for me was using Docker Desktop's version of Docker Compose while on Linux. The updated instructions to install Docker Compose manually fix this bug for me.
See https://github.com/ietf-tools/datatracker/commit/f01ef0c9157988cf62e625da0cad06cb7ddb631a


Add Access Helper to JacksonAdapter

This PR adds a new configuration flag to JacksonAdapter which enables support for JacksonAdapter to use it's security permissions when making serialization calls. This helps resolve scenarios where an external application using an Azure SDK doesn't have reflective permissions that JacksonAdapter does.

API changes have been detected in com.azure:azure-core. You can review API changes here
API changes
-         public static synchronized SerializerAdapter createDefaultSerializerAdapter()
+         public static SerializerAdapter createDefaultSerializerAdapter()

API changes have been detected in com.azure:azure-core. You can review API changes here
API changes
-         public static synchronized SerializerAdapter createDefaultSerializerAdapter()
+         public static SerializerAdapter createDefaultSerializerAdapter()


Partial template for functions

No functional change; partially abstracts child command invocation.  Would like to fully abstract it, but that might not be possible.

For now, I think this level of abstraction isn't needed.  Revisit if I add support for more types with many commands.


[eas-cli] Replace device:create input summary table with format fields

Checklist

[ ] I've added an entry to CHANGELOG.md if necessary. You can comment this pull request with /changelog-entry [breaking-change|new-feature|bug-fix|chore] [message] and CHANGELOG.md will be updated automatically.

Why
Replaces the CLI table for eas device:create with formatted fields, similarly to how eas device:list works.
How

Created new formatNewDevice method, as some fields don't exist yet.
Moved device class formatting over
Resort the fields to match formatDevice

Test Plan
Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction.

/changelog-entry chore Replace device:create input table with format fields


[CP] [web] Set touch-action:none in embedded views.

Issue Link
https://github.com/flutter/engine/pull/53647
Target
beta
PR Link
https://github.com/flutter/engine/pull/54007
Changelog Description
Applies touch-action:none in embedded views, so Flutter can handle all touch events without interference from the browser. (The previous fix broke certain a11y taps).
Impacted Users
Flutter web mobile users with semantics enabled.
Impact Description
When semantics are enabled, tapping on the label of a checkbox in a mobile browser won't togle the checkbox. It's also harder for screen reader users to access those component+label "merged" widgets.
Workaround
No, because the old solution was intercepting some pointer events that turns out were needed in certain cases.
Risk
low
Test Coverage
yes
Validation Steps
It's been validated in the original PR, but a way of validating is by running the app listed here:

https://github.com/flutter/flutter/issues/130950#issue-1812857359

Deploying it somewhere and attempting to click in the "A checkbox" label, with chrome in "responsive mode, with taps enable". Before the fix, the click won't do anything. After the fix, the click will toggle the checkbox.
/cc @yjbanov

@yjbanov please review.

LGTM!

Should I add the cp: approved label?

@yjbanov this one missed the cut, but please add the label so it can land on the first hotfix.  The change will need to be rebased against stable.

@itsjustkevin what's the branch I need to rebase the PR agains?   The branch will be the same, if anything I will just need to “update branch” from the PR UI.

Sweet @itsjustkevin! Do ping me if you want me to tread any water to get this landed!

https://github.com/flutter/engine/pull/53647#issuecomment-2276392032 – ugh. Need to figure out where to target this.


 no longer respects float wrapping

overflow:visible causes <hr> to widen and run behind floated elements instead of remaining at text width and respecting the float's content and margin. Is there another way to normalize the behavior this rule is trying to correct?

Closing. I'd searched issues but didn't see PR #861 before.


Add files via upload

adding fis domain

School website: https://www.fis.unm.si/si/

@Lencek6 Pull request merged. Thank you!


add TopNav, SignIn features

@ahgood

It's big PR which is hard to review, If I was you, I would prefer break down this app a little bit like:

Create react app -> config package.json -> update basic info like readme.md -> create PR
Do single UI/Function -> create another PR
Other UI/Function changes -> create new PR

I downloaded this repo and installed dependencies, but npm run start or npm start didn't work for me, command line stuck at Starting the development server... and open localhost:3000 just show a blank page and loading... it should be my computer issue, tested create-react-app and it also not working for me it's working now, just took few mins to start, not sure why.
I also tried npm run build and then cd build && npx http-server to use a local web server to test the app, I can see most of the page, found some issues:

Mouse over some link like top right corner Title/logo, the pointer is not a hand, which is not a good user experience
Some links like project detail page, click it just show the blank page
Similar with above, click Project List and go to http://localhost:3000/projects/, the page display for 1 second and then disappear

/lgtm

It's big PR which is hard to review, If I was you, I would prefer break down this app a little bit like:

Create react app -> config package.json -> update basic info like readme.md -> create PR
Do single UI/Function -> create another PR
Other UI/Function changes -> create new PR

~I downloaded this repo and installed dependencies, but npm run start or npm start didn't work for me, command line stuck at Starting the development server... and open localhost:3000 just show a blank page and loading... it should be my computer issue, tested create-react-app and it also not working for me~ it's working now, just took few mins to start, not sure why.
I also tried npm run build and then cd build && npx http-server to use a local web server to test the app, I can see most of the page, found some issues:

Mouse over some link like top right corner Title/logo, the pointer is not a hand, which is not a good user experience
Some links like project detail page, click it just show the blank page
Similar with above, click Project List and go to http://localhost:3000/projects/, the page display for 1 second and then disappear

Got it. I will break it as small as possible.
The UX and ProjectPage related issues are on going.


UX hurdels on Windows

The purpose of this ticket is to describe some user experience hurdles on windows for a first time user.
Preconditions: I had CMake 3.2 and Visual Studio 2013 installed.

Download bii-win_3_0.exe
Install, select "Add to system's path" (less problems with continuous integration service; no idea why one would recommend current user...), uncheck "View ReadMe" (online docs are open anyway...)
Press Windows+R, type cmd, press Enter
Follow Getting Started

Problems:

bii setup:cpp does not detect Visual Studio
bii build does not automatically fall back to NMake/Visual Studio if MinGW isn't installed

I suggest to use Visual C++ as default on Windows, as its part of the Windows SDK, which is "free" and superior to MinGW in many aspects (compatibility, 64bit, Microsoft language extensions, ...)
As for configuration: I think it'll be nice to have an interactive list to choose from, e.g.:
Choose one of the following generators:
  1. NMake
  2. Visual Studio 2013
  3. Visual Studio 2015
  4. Sublime Text
<If generator does not support multiple targets>
Choose one of the following targets:
  1. Windows 32bit
  2. Windows 64bit
  3. Emscripten
  4. Android
<IDE opens>

Thanks for making such a great tool. Keep up the good work! :+1:

no idea why one would recommend current user

It was requested by users, didnt want to add stuff to their path. For most users, it is ok to add things to the path, but if someone wants it the other way and we can handle, we do it :)

I suggest to use Visual C++ as default on Windows

Yes, I suggest that too! It has been a long requested (even ourselves) features, so lets add it to our issues:

https://github.com/biicode/biicode/issues/21

bii setup:cpp does not detect Visual Studio

Yes, that is true. In fact, bii setup:cpp was an auxiliary helper intended for novice C++ people, students, organizing workshops, etc. As long as you have CMake>3.0 available and one VS, everything is ok, no need to run it at all. Probably we will deprecate it at some point, but by now it is handy (e.g. I sometimes use it in travis-ci)

As for configuration: I think it'll be nice to have an interactive list

I agreed (past tense) with you, and former versions of biicode were very interactive for such things. But then it happened that a vast majority of users largely preferred command line options than interactive commands. We keeped both for a while, but at the end was a nightmare to develop and maintain (testing interactive commands in multi-platform is a pain) and we finally dropped interactivity. For seeing available generators you can just run:
$ cmake --help

As we use the generators as defined by CMake (also there are generators for 64 bits or ARM architectures in some Visual), they are not really separate targets. As for the targets (like Emscripten or Android), our current approach is user extensibility, but it is hard to offer them as options. Check for example: https://www.biicode.com/diego/rpiwin, that install a xxx_toolchain.cmake in your project, and that can be loaded with "bii configure -t xxx". But we still have not integrated xxx inside biicode, and I doubt that it should be done, as it makes more complex for toolchains to quickly evolve and adapt particular user needs. I have largely wanted to have an Emscripten toolchain for biicode, hopefully someone contributes one the same way as the RPI-win above one.

Thanks for making such a great tool. Keep up the good work!
Thanks so much! And thanks very much for your feedback. Best.


Add support for inline actions with extension keywords

Description
Enable keywords to trigger inline actions, so we can set a timer, or select an emoji, or add a note, right from the search bar.
Examples:
Timer extension (setting new timers):
timer 30m
timer 1h30
Emoji extension (searching for the smile emoji):
emoji smile
Joplin extension (adding new note to pre-defined default Joplin folder):
joplin new This is my new note from RayCast
Google Search:
g what's the distance between Earth and the Moon?
Furthermore, we would be allowed to customize the keyword for each extension.
Who will benefit from this feature?
Everyone
Anything else?
Ulauncher offers this functionality built-in, as can be seen in the animated Gif on their home page:
https://ulauncher.io/
This is an example of a Ulauncher timer extension that allows you to set a timer right from the search box, by using a custom keyword:
https://ext.ulauncher.io/-/github-ulauncher-ulauncher-timer
Google Chrome offers a similar feature built-in, but only for search, with their "site search", where you can, for example, set a keyword to a dictionary website search and use it to search directly in the website instead of having to visit the website first — like "d onomatopoeia":
https://zapier.com/blog/add-search-engine-to-chrome/

Apparently, it isn't.


Custom plugin does not work

Hello! I'm trying to run custom plugin.
(Plugin and the krakend itself built in the same environment)
But I get error at krakend run:
plugin was built with a different version of package encoding
Also I have check-plugin output:
1 incompatibility(ies) found... libc         have:          want: MUSL-1.2.2
But how can I provide libc dependency? (CGO_ENABLED=1 flag doesn't solves the problem).

Hi @yrsh
You need to use the same golang version used to build the binary and the same glibc used by CGO, that means using the same OS more or less.
In this case MUSL-1.2.2 means that you need an alpine 3.14 or 3.15.
Check the makefile of the KrakenD version you are using and you will see which docker image we used to build it.
In this case golang:1.17.8alpine3.15.

Hi @taik0
Seems that is does not help. I build kraken and plugin in golang:1.17.8-alpine3.15 container. And now have
33 incompatibility(ies) found... libc         have:          want: MUSL-1.2.2 github.com/Azure/go-autorest/autorest         have: v0.11.9         want: v0.11.12 ... (and many more)
But I have only one dependency in my plugin github.com/luraproject/lura/v2 v2.0.1 which is the same as in krakend.

now you have the proper glibc version. the new error is telling you that some indirect dependencies do not match. just try to replace them with the proper version (as required by the binary)

closing due inactivity


Add task for flashing project

The task for flashing the project to the board (https://github.com/MaJerle/stm32-cube-cmake-vscode/pull/4) has been lost with commit dbe349058d3454afad2b96d4f535c1449db9e1fd.
I verified that the tasks works good even after the changes made to support cmake-presets, so I assume it was removed accidentally.

Nice catch - thank you for your help on this one.
Next step on the repository for me will be to update tutorial and get rid of "Cmake-Kits" instructions - rather focus only on presets. If you have time to help - I'd be happy :)

You’re welcome :)
Currently I need to be a little picky about my time, so, unfortunately, I cannot give you much support with cmake-presets.


chore(weaver): commit prototypes to allow one-step build

The cactus monorepo build requires local dependency pacakges to be built as a prerequisite.  This commit checks in prototype files generated by the weaver build process so that the forthcoming copm packages can be built in ci without a pre-build code generation step.
Pull Request Requirements

[x] Rebased onto upstream/main branch and squashed into single commit to help maintainers review it more efficient and to avoid spaghetti git commit graphs that obfuscate which commit did exactly what change, when and, why.
[x] Have git sign off at the end of commit message to avoid being marked red. You can add -s flag when using git commit command. You may refer to this link for more information.
[x] Follow the Commit Linting specification. You may refer to this link for more information.

Character Limit

[x] Pull Request Title and Commit Subject must not exceed 72 characters (including spaces and special characters).
[x] Commit Message per line must not exceed 80 characters (including spaces and special characters).

A Must Read for Beginners
For rebasing and squashing, here's a must read guide for beginners.

Closing as no longer needed.


Data Storage Getting Bigger and Bigger

The Data part of Pumpkin Reader app goes up to ~20MB.
Investigate why the app takes quite a lot of storage.
Possible cause: Rx cache() method.

The culprit: internal WebView.
Everytime user opens an unread news with interval WebView, the data will spike up. Turned out WebView cache is stored in data part.
This happened on Cyanogen OS.
Interestingly, on Oxygen OS, the cache is stored in cache part.
So the spike of storage size is expected, user can always clear it out themselves or we can add the functionality in the future.

Let user manually clear the cache if they want to


[BugFix] ensure cteId auto increment

What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #22266
Problem Summary(Required) ：

In some transformation rules, this.cteId = factory.getNextRelationId(); may obtain a duplicate cte id.
Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[x] 3.0
[x] 2.5
[x] 2.4
[ ] 2.3

[FE PR Coverage Check]
:heart_eyes: pass : 7 / 7 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/RewriteGroupingSetsByCTERule.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/RewriteMultiDistinctByCTERule.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/CTEContext.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/QuantifiedApply2OuterJoinRule.java
1
1
100.00%
[]

@Mergifyio backport branch-3.0

@Mergifyio backport branch-2.5

@Mergifyio backport branch-2.4


[Bug] Unable to Complete Communicate using Markdown

Discussed in https://github.com/orgs/skills/discussions/569

Originally posted by Yash-Shindey May  8, 2024

Hey guys. I have done all the steps required and have published the page here https://exp-communicate-using-markdown-cohort-1.github.io/series-communicate-using-markdown-Yash-Shindey/  I am still unable to mark it as complete. Any help will be highly appreciated
I am also experiencing the same issue.
Repo: https://github.com/Exp-Communicate-Using-Markdown-Cohort-1/series-communicate-using-markdown-jules946

Thanks so much for the report, @jules946. I've alerted the team that looks after GitHub Classroom about the problems and they're working on it. Since the problem isn't specific to Skills, I'll close this issue out but please reopen or reach out to support if it's not resolved soon.


feat: use goreleaser default naming for published archives

This is just style so no worries if not going with this. I want to propose using goreleaser default naming scheme for release archives. goreleaser is very common now, and I like the consistency of archive names I see across various projects when writing tooling. I think it's worth doing that here.
Also publishes a windows-amd64 build (not arm64 since there is no viable platform for that yet)

Does the naming change? If it does, can you provide also a PR for https://github.com/coreruleset/coreruleset/blob/cf383e1625c973bdc673307790be99ecbcbe8314/.github/workflows/go-ftw.yml#L28 so we can merge when releasing?

@anuraaga ☝ ?

Sorry for delay @fzipi sent https://github.com/coreruleset/coreruleset/pull/2846


Add permissions parameters for Plex and Emby

User can now set parameters to decide if their Plex and/or Emby apps should consider the TV and movies folders as read-only or read-write (see discussion at #69). Default is read-only as best practice.
(Apols, vagrant test won't work on my system (see #74), so this might need further testing by somebody who actually knows what he's doing.)

Just so I'm clear - this is just to prevent Emby and Plex inadvertently modifying your media? Are there examples where Plex/Emby have done this or is it just a "best practise" thing? I've run both of them historically and they've never fiddled with my media unless I've specifically told them to.
What I want to avoid is people being tripped up by having their media directories set to ro by default, then wondering why Emby and/or Plex aren't working as they expect them to - then later realising Ansible-NAS is to blame. If this is to be included I feel the default should be rw with documentation notes about why you might want to set the volumes to ro, and the pros/cons of doing so.
If set to ro - how do Emby and Plex behave? Are logs filled with errors about being unable to write to media directories or do they just carry on as normal?
Also - your diff seems to include some files you're not changing, can you take a look at that too please?

Your right, default for normal, adjusted, non-paranoid people should be rw, I'll change it, and then later mention it in the docs. -- The changes to README.md seem to be line breaks only, I tend to have them, because vim, and you seem not to. It doesn't make a difference with Markdown, the docs are a happy mix by now; if you have a preference, I can change it.

:+1:


⚠ ClamAV has degraded performance

In 643230a, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 449 ms

Resolved: ClamAV performance has improved in 0dbf7e6.


Calculation is not correct

The code does calculation with a hard defined day (24 hours). This isn't the correct way to do date and time calculation because there is daylight savings time in some regions.

Would love to get this fixed. Which calculations are you referring to?

I mean the assumption that a day contains always 24 hours. When there is a daylight savings time transition, a day is either 23 or 25 hours long.
See: https://github.com/melvitax/AFDateHelper/blob/master/AFDateHelper/AFDateExtension.swift#L443
Issue #10 is also hinting at this. Date and time calculations aren't simple and easy. There is a whole WWDC session about this specific subject. https://developer.apple.com/videos/wwdc/2013/?id=227

Thanks, fixed in https://github.com/melvitax/AFDateHelper/commit/15daf87d143c927ec0c118504afb499e69abd84e


Allow lazy refs to resolve to null

In particular this gives a better experience when refs are eagerly recomputed due to #253

Whats up with all the dist changes?

garbage from testing; #258


Runtime initialization for org.apache.cxf.attachment.ImageDataContentHandler

After upgrading to 2.4.0/0.10.0 I had to add: --initialize-at-run-time=org.apache.cxf.attachment.ImageDataContentHandler for the application to work in native.
If not, some exceptions are thrown at native build time related to java.awt classes.
For instance with --trace-class-initialization=java.awt.Image, the build fails with:
Error: Classes that should be initialized at run time got initialized during image building:
 sun.awt.AppContext the class was requested to be initialized at run time (Quarkus run time init for AWT). To see why sun.awt.AppContext got initialized use --trace-class-initialization=sun.awt.AppContext
java.awt.EventQueue the class was requested to be initialized at run time (Quarkus run time init for AWT). To see why java.awt.EventQueue got initialized use --trace-class-initialization=java.awt.EventQueue
java.awt.Toolkit the class was requested to be initialized at run time (Quarkus run time init for AWT). To see why java.awt.Toolkit got initialized use --trace-class-initialization=java.awt.Toolkit
java.awt.Image the class was requested to be initialized at run time (Quarkus run time init for AWT). org.apache.cxf.attachment.ImageDataContentHandler caused initialization of this class with the following trace:
        at java.awt.Image.<clinit>(Image.java:53)
        at java.lang.Class.forName0(Unknown Source)
        at java.lang.Class.forName(Class.java:398)
        at java.awt.datatransfer.DataFlavor.tryToLoadClass(DataFlavor.java:139)
        at java.awt.datatransfer.DataFlavor.initialize(DataFlavor.java:529)
        at java.awt.datatransfer.DataFlavor.<init>(DataFlavor.java:430)
        at java.awt.datatransfer.DataFlavor.createConstant(DataFlavor.java:175)
        at java.awt.datatransfer.DataFlavor.<clinit>(DataFlavor.java:212)
        at org.apache.cxf.attachment.ImageDataContentHandler.<clinit>(ImageDataContentHandler.java:55)

When can we expect the next release?

I believe we're due for one, will try to get it out this weekend.

Closing this issue, release 0.11.0 will be out shortly.


Update cmssw circle ci

Ignore. This is just to keep Circle Ci commits from clogging the entire commit history from the other PR

@usarica I am testing testME_more.py with the newest commit ID for MELA as requested. If the test fails, I will comment it back out.

On this one, I was hoping to get Docker to work on my computer, but it didn't really work as I expected. For now, it may be ok to merge once you resolve conflicts, but I would have preferred to have found a solution to losing testME_more.


Support splitting into multiple objects?

Hi thanks for the helpful crate!
When implementing https://github.com/fzyzcjy/flutter_rust_bridge, I am considering the following scenario. Firstly a simple one:
struct One { .. }
struct Two<'a> { .. }
fn compute(one: &'a One) -> Two<'a> { .. }

I have a Arc<One> as input, and want to provide something as if Arc<Two> as output, but it should have no lifetime specifier by putting Arc<One> inside it.
// pseudo code for both self_cell and ouroboros
struct TwoWithOwner {
  one: Arc<One>,
  two: Two<'this>,
}

let input: Arc<One> = ...;
let output: Arc<TwoWithOwner> = Arc::new(TwoWithOwnerBuilder {
  one: input,
  two_builder: |one| compute(one),
}.build());

Now comes the problem. Suppose the return type is a Vec:
fn compute(one: &'a One) -> Vec<Two<'a>> { .. }

And for the same input, I hope to provide Vec<Arc<Two>> as output (again without lifetimes).
If using the exact same code, I will only get something like:
struct VecTwoWithOwner {
  one: Arc<One>,
  two: Vec<Two<'this>>,
}

In other words, an Arc<VecTwoWithOwner> object, instead of Vec<Arc<TwoWithOwner>>.
It would be great if there are some API that can split an Arc<VecTwoWithOwner> object into multiple Vec<Arc<TwoWithOwner>> objects. From my naive thoughts, maybe there can be something like a transform function. Or, there may be better solutions for the scenario above.
Cross-posted in: https://github.com/someguynamedjosh/ouroboros/issues/117

With this as basis for your question:
struct One(String);
struct Two<'a>(&'a One);

fn compute<'a>(one: &'a One) -> Vec<Two<'a>> {
    vec![Two(one), Two(one)]
}

self_cell!(
    struct SelfCell {
        owner: One,

        #[covariant]
        dependent: Two,
    }
);

let cell = SelfCell::new(One("xx".into()), compute);

I think there is no general solution that would allow splitting without making assumptions about the owner type, such as address stability. This has been discussed in depth here https://github.com/Voultapher/self_cell/issues/55.
However, maybe there is a way forward for your issue. Given the above example code, assuming you have control over compute you could change it to fn compute(one: Arc<One>) -> Vec<SelfCell>, constructing one cell per dependent type. If compute can't be changed, I would look at the higher level view, why is there are 1-N mapping from One to Two but bundling them in a way where each Two comes with its own One makes sense. Maybe it's possible to hoist the structure and wrap it in an Arc, so that you have:
use std::sync::Arc;

struct One(String);
struct Two<'a>(&'a One);

fn compute<'a>(one: &'a One) -> Vec<Two<'a>> {
    vec![Two(one), Two(one)]
}

type Dependent<'a> = Vec<Two<'a>>;

self_cell!(
    struct SelfCell {
        owner: One,

        #[covariant]
        dependent: Dependent,
    }
);

let cell = Arc::new(SelfCell::new(One("xx".into()), compute));
let cell_cheap_clone = cell.clone();
let two_idx_1 = &cell_cheap_clone.borrow_dependent()[1];

Does that help?

Hi, thank you for the reply!

I think there is no general solution that would allow splitting without making assumptions about the owner type, such as address stability. This has been discussed in depth here https://github.com/Voultapher/self_cell/issues/55.

I agree. Thus is it possible to deal with it, when the owner has type Arc<Something>?

assuming you have control over compute you could change it to fn compute(one: Arc) -> Vec

This is user code, thus I cannot control it...

If compute can't be changed, I would look at the higher level view, why is there are 1-N mapping from One to Two but bundling them in a way where each Two comes with its own One makes sense. Maybe it's possible to hoist the structure and wrap it in an Arc, so that you have:

Thank you, but this may not be ideal, because I need to convert the Vec<SelfCell> into a real Dart list.

I agree. Thus is it possible to deal with it, when the owner has type Arc?

As explained in the linked issue, this is a generic library and it doesn't know what Arc like types are, and even then we would have to limit the borrow to interior things.
If all you need is a self-contained thing you can easily store and pass around, would the outlined Arc<SelfCell> approach work, where you assemble the interleaved Dart object as needed on the FFI boundary?

As explained in the linked issue, this is a generic library and it doesn't know what Arc like types are, and even then we would have to limit the borrow to interior things.

Thank you. I was thinking about something like "specializing" on Arc-like things.

If all you need is a self-contained thing you can easily store and pass around, would the outlined Arc approach work, where you assemble the interleaved Dart object as needed on the FFI boundary?

I can make the vec an "opaque" object on Dart side, but that may be less than ideal, since users may want a real dart list, and other parts of flutter_rust_bridge also gets better when it is a real list.

Thank you. I was thinking about something like "specializing" on Arc-like things.

Please read the linked issue, it goes into depth why that's not an option for me.

I can make the vec an "opaque" object on Dart side, but that may be less than ideal, since users may want a real dart list, and other parts of flutter_rust_bridge also gets better when it is a real list.

I have no experience with Dart, my idea was to construct the lifetime dependent Vec<(One, Two<'a>)> when needed, so as to have a container that is easy to store and pass around in the self_cell and only having to deal with lifetime in the usage place.

Given that I don't plan on going down the path of specializing on Arc-like constructs, a pre-requisite for the feature in question, I'm proposing to close this issue.

It's OK, thank you all the same!

to construct the lifetime dependent Vec<(One, Two<'a>)> when needed,

Not sure whether I get the idea, but suppose the One is very heavy to be created, and Two<'a> is also heavy to be computed from the One instance, then it seems not possible to construct one-the-fly.

Not sure whether I get the idea, but suppose the One is very heavy to be created, and Two<'a> is also heavy to be computed from the One instance, then it seems not possible to construct one-the-fly.

The idea is to only compute them once, and store them in:
type Dependent<'a> = Vec<Two<'a>>;

self_cell!(
    struct SelfCell {
        owner: One,

        #[covariant]
        dependent: Dependent,
    }
);

The layout is not right yet for the final use, if I understand correctly you need to interleave them into Vec<(One, Two<'a>)> to map to the Dart list representation. All that would need to be assembled on-the-fly would be the final Vec, which is relatively cheap I guess.

Well I still do not quite get it. What should I fill in ??? below:
let intermediate_output: SelfCell = ...; // (One, Vec<Two<'a>>)
let real_output: Vec<SelfCell2> = _____???______;

self_cell!(
    struct SelfCell2 {
        owner: Arc<One>,
        #[covariant]
        dependent: Two,
    }
);

Why do you need SelfCell2 at all? People usually erase lifetimes to make storage simpler. With SelfCell you already have all the information computed once, and in one easy to pass around package.

It would help if you'd explain what the usage of the desired data structure actually looks like.

Thank you!
In short, since we want a real Dart list (that can, for example, interleave some Rust objects with some Dart objects), we have to have a Vec<Something>. Then, suppose it is indeed [a,b,c] three objects, then it will be converted to a Dart list (the list is on Dart heap) with three Rust objects (the objects are on Rust memory).
Btw there are some workarounds, but they will make flutter_rust_bridge more complicated IMHO, so I do not elaborate them here.

I'm more of a visual learner, could you maybe provide a slimmed-down but representative sample program that shows the user-provided compute function and then how that Dart list should be used. Right now I'm struggling to wrap my head around it.

Hi, I have done implementing the feature without self_cell, but still thank you for willing to help! I may try to find some time drawing a diagram, but there are still many things to do in frb thus quite busy now. Thus maybe close this issue as you have suggested above firstly.


Increase max limit

Let's make it 100 rather than 30.
There is a default query limit (for external queries) of 300.000 gas.
After subtracting execution overhead, this should allow somewhere around 200 reads.
I think a 200 max limit may lead to out of gas complaints, I would rather be a bit safer (but higher than 30)

I assume same goes for tgrade?


FancyZones reads json files continuously

Microsoft PowerToys version
v0.73.0
Installation method
GitHub, PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
FancyZones
Steps to reproduce
apparently, it's "install fancy zones" and turn on "promon" and watch for *.json files and notice tons of reads that should not be happening....
✔ Expected Behavior
I expect it to add a file watcher and not poll/read these json files over and over again.
❌ Actual Behavior
fancy zones reads custom-layouts.json, settings.json, layout-templates.json, applied-layouts.json over and over and over and over and over....... please stop?

Other Software
No response

Still an issue in v0.76.2, it's a major concern esp. if someone is still using a spinning platter HDD as a primary drive.

I took a look into this and the behavour is caused by PowerToys FileWatcher that is used by FZ, AOT and VCM.
PowerToys isn't really reading the file every second but just checking the last write time.
Last write time check:

Actual read:

@jaimecbernardo any thoughts on this?

Wonder if there's another API we can use for this or if that's just the way to do it on Windows 🤔  Setting it to a project so that it can be investigated.
Wondering if we should be using other synchronization methods instead, like Events.

I was curios so I have investigated a little bit: C# FileSystemWatcher is based on ReadDirectoryChangesW.
The API is not a simple one to use (at least for me) but I figured out that Windows Implementation Libraries have a nice wrapper to consume it.
Since this is a core API I am fine with @yuyoyuppe working on this but I want to add this as it might be useful input 😃
I Tried this and at a sight is working but more tests are needed:
FileWatcher::FileWatcher(const std::wstring& path, std::function<void()> callback) :
    m_callback(callback)
{
    size_t pos = path.find_last_of(L"\\/");
    if (pos != std::wstring::npos && pos + 1 < path.length())
    {
        std::wstring folder = path.substr(0, pos);
        m_file = path.substr(pos + 1);
        std::transform(m_file.begin(), m_file.end(), m_file.begin(), ::towlower);

        m_folder_change_reader.create(
            folder.c_str(),
            false,
            wil::FolderChangeEvents::LastWriteTime,
            [&](wil::FolderChangeEvent, PCWSTR fileName)
            {
                std::wstring lowerfileName(fileName);
                std::transform(lowerfileName.begin(), lowerfileName.end(), lowerfileName.begin(), ::towlower);

                if (m_file.compare(fileName) == 0)
                {
                    m_callback();
                }
            });

        if (!m_folder_change_reader)
        {
            Logger::error(L"Failed to start file watcher for {}", path);
        }
    }
}

@davidegiacometti thanks, that looks good! I'd just change it to use wil::make_folder_change_reader instead of .create and use std::filesystem APIs for parsing the filename. Feel free to open a PR or I can do it a bit later. 🙂

Hi, this has been worked on for the 0.78 development cycle. 😄
Please update PowerToys to the latest: https://github.com/microsoft/PowerToys/releases

procmon confirms that PowerToys is no longer so overzealous with files.
Thanks so much


Infinite Loop When TypeRef References Parent TypeRef

Clairvoyance cannot handle when a schema typeref back-references a typeref. The tool ends up stuck in an infinite loop and never progresses.
The tool gets caught in get_path_from_root() in graphql.py where there is a while loop that never completes. I ended up monkey-patching the oracle.py to avoid specific TypeName's that have this back reference.
Attached is a screenshot of a schema which does this. I had to kill the tool and the resulting schema showed the issue when thrown into a visualizer.

Hey @seanmarpo,
Thank you for reporting the issue and the detailed report! We'll try to solve this systematically once we have time.
Also, feel free to submit a pull request if you have the solution in mind 😃


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-27-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3946

Questions ?
Please refer to the Backport tool documentation


How send a write request?

Hi there!
i'm trying to connect esp32 to a ble server - i'm able to find the devices, uuid, services, descriptors,...
(btw - using esp32_ble_arduino)
now i need to send a write-request to a handle, but i have no idea how...?
the handle is a BLERemoteDescriptor which is found from a BLERemoteCharacteristic by using the getdescriptor.
using the writevalue method for writing 2 bytes via a char-array (and according to the sniffer it sends those 2 bytes out as desired.
when using the ble sniffer i can watch an android app connect to the ble server and it sends a write-request (OpCode 0x12 in BLE AT Protocoll).
when sniffing on the esp32 it sends the exact same packet except for the opcode which is 0x52 aka write-command.
it does not matter if i set the 3rd parameter from writevalue (response) to true or false, opcode is always 0x52.
searching the sources did not help either, bleremotedescriptor only has read/write value methods but as far as i see there's no writecommand or writerequst methods.
So that's where i'm stuck beeing happy about any usefull hint...
Thanks for your time & Brgds, Martin.

Howdy,
It should be that given a BLEClient object, you can locate the BLERemoteService and from there locate the BLERemoteCharacteristic which will then take you to the BLERemoteDescriptor.  With a reference to a BLERemoteDescriptor object, we should find that we have a method on that called writeValue().  When we invoke writeValue(), that should set the value of the descriptor on the remote BLE server..
Unfortunately, I have never looked at the wire level bits and bytes of BLE (ive so far never had to).  The ESP-IDF provides APIs for working with BLE and the cpp_utils BLE classes provide C++ encapsulations of the ESP-IDF BLE APIs.
The actual API that performs the API call looks like:
https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/BLERemoteDescriptor.cpp#L145

Hi Neil!
i've used your gattc_client example and modified it a bit, in the end i'm doint following:

Device search, look for a device where adverstisedDevice.getServiceUUID matches
use advertisedDevice.getAddress in conjunction with a bleclient to connect.
get the bleremoteservice via client->getservice
get (totally it's 3 of them) bleremotecharacteristics via bleremoteservice->getcharacteristic
dump the  properties for the remotecharacteristic (canread/write/... and the handle.
then i get the bleremotedescriptor via bleremotecharacteristic->getdescriptor
and finally i use the writevalue on the bleremotedescriptor. (and registerfornotification as well).

Now when looking at the blesniffer trace the esp32 sends a packet with the desired payload to the desired handle (aka the same handle/payload that the android-app sends to the bleserver/device).
Except for the small difference mentioned above (BLE-AT OpCode 0x12 vs 0x51).
i can post screenshots or wireshark dump-files if that helps.
but i guess not ;)
i've already read through the bleremotedescriptor/charateristics,... files for your ble library. and also through the esp-idf-arduino sources.
and i'm still clueless as even in espidf sources i can't find a hint how to get the desired opcode sent out.
(by the way, i can write values to the device, reset the esp and read the same value back from the device. so i'd guess the basic communication part is working).
From your feedback i believe i've gone the correct path though not reached the target.... does my feedback give you any hints for anything to test...?
my only idea now is to put this information/questions either in esp32 forum or post a issue with the esp-idf repository - any other ideas?
Thanks &Brgds, Martin.
(And sorry for the delay, just have very sporadic time-resources for programming lately).

I have kind a same problem. Im working with Komoot navigation. Everything else works ok, but it sends only 20 bytes (document speaks of 22 bytes) and when street name is longer i have to ask for more. I just dont know how to write and ask more.

Could you paste that part of code is sending request?

Well i have try to modify this one: https://github.com/SensorsIot/Bluetooth-BLE-on-Arduino-IDE/blob/master/Polar_Receiver/Polar_Receiver.ino
Now if i try to add example that notification enable / disable part to my code ESP32 crash and reboots.
pRemoteCharacteristic->getDescriptor(BLEUUID((uint16_t)0x2902))->writeValue((uint8_t*)notificationOn, 2, true);

Hm. My Problem was that the BLE-Command beeing sent has the wrong opcode and that there's only a writevalue in the api, no writecommand. it was not about different length and such.
but a hint might be that there's a length limit for ble packets so if your payload and header exceeds that, you'll have to send another packet...

Now if i try to add example that notification enable / disable part to my code ESP32 crash and reboots.

How logs looks like when it crash?
Try to use this tool to see why it crash:
https://github.com/me-no-dev/EspExceptionDecoder

i guess either the remoteCharacteristic or the Descriptor returned by getDescriptor is null....
how about this code with nullptr handling?
void SubscribeNotification(BLERemoteCharacteristic* blechar) {
Serial.print("Subscribing to Notification for BLERemoteCharacteristic: ");
static BLERemoteDescriptor* brd;
brd = blechar->getDescriptor(CCC_UUID);
if (brd == nullptr) {
Serial.println("Failed to find CCC Descriptor, ");
} else {
Serial.print("Found CCC Descriptor, sent not_On sequence, ");
brd->writeValue((uint8_t*)not_On,2,true);
}
blechar->registerForNotify(notifyCallback);
Serial.println("registered for notifications!");
}

@JaspaJami Did you solve the komoot request problem for streets longer fitting in the 1st packet?
Can you share that part somewhere...?
Having the same - clueless - issue now :D

Did you try to set MTU?

No. If you look there, they write that they can only send 20 bytes on android and if the street-name is too long it's truncated.
so you "registerfornotify" and get a buffer sent by the phone that is max 20 bytes and if the street name is longer, you need to read the data.... Just reading the value of the bleremotecharacteristic does not do the trick...
and as i rememered JaspaJami asking about this here.... i'm curious  if he solved it.

Just try to use BLEDevice::setMTU(100) for example (up to 512). By default mtu is equal 23 and because of that notify max length is 20 bytes.

Thanks for the hint, i did a quick test - setMTU does not exist, so i updated the arduino-lib, now BLEDevice does not compile as esp_bt.h does not exist.
so this will take some more time to fix.... i'll come back here with my result!

So for now  give up.
setMTU does not exist on my "old" version of the ble library, so i've updates the lib, which won't compile because esp_bt.h does not exist. created the include file as noted in the other open issue, and now i un into the "c++ eceptions not enabled" issue which is waiting since 2018-02-05....

"c++ eceptions not enabled" are enabled for quit some time, you just need to update your arduino-esp32. Fastest way is to delete old one and download new, but if you are familiar with git then its pretty easy. Also there is no issue with esp_bt.h anymore.

chegewara - thanks for your hints - i already did a update via GIT last time when it did not work, but now after starting from scratch setMTU works, no Exception-not-enabled errors and Komoot sends Pakets longer than 20 bytes - THANKS for the hint!
(And to my git-update problem.... i also had the esp32-ble lib zip/downloaded some time ago and still in my arduino/libraries folder. After the git-update i had the excepetion-not-enabled problems. Now, i had the issue that i had 2 BLE Libraries - the one included in the arduino-esp32 sdk and my old one... so i guess during my GIT-Update something went wrong (submodules..?) as i didn't have the ble librarie within arduino-esp32.

Sorry, just a mistaken click :D

smartinick, I wonder how you did to sniff it! Could you give me a light?
Grazie!!

smartinick, I wonder how you did to sniff it! Could you give me a light?
Grazie!!

https://www.adafruit.com/product/2269 & wireshark....

@smartinick , after your hint I also made a sniff, and.. I also need opcode of 0x12 instead of 0x52.
nRF is sending 0x12 (write request) and it is working with the ble device, but when I try exactly the same with esp32, the opcode is (0x52 write command), and it does not work. You had any luck?

To be exact the write_command (0x52) is handled as write_request (0x12) + command_flag (0x40), and that's why the analyzer handles it as write request, and waits for a response. You are right, you can see "missing packets" because there is no response. But again, this is only an issue in the analyzer.

https://www.silabs.com/community/wireless/bluetooth/forum.topic.html/ble_write_withoutre-NnIl

https://github.com/dlenski/ttblue/blob/master/tt_bluetooth.md

HANDLE <- data: host sends data to device using the ATT write-no-response command (opcode 0x52)
HANDLE <-- data: host sends data to device using the ATT write-request command (opcode 0x12)

Thks @chegewara , these articles were of great help!
Just to make it clear for those who might have the same issue:
e.g.:
in Arduino IDE:
pRemoteCharacteristic->writeValue(value, length, true); -> opcode 0x12
pRemoteCharacteristic->writeValue(value, length); -> opcode 0x52

@vcmorini opcode write to descriptor or characteristics?


time: Update tzdata to IANA release 2017a (February 2017)

Announcement: http://mm.icann.org/pipermail/tz-announce/2017-February/000045.html
Thanks!

These usually get updated as a release approaches.

Note: whoever updates the vendored tzdata package will need to update the TestFirstZone test, which uses the vendored zip (instead of the system data) and I've verified fails with anything >= tzdata-2017a due to a timezones data update.
Or can ping me and I'll do it.

2017b is just released.
Announcement - http://mm.icann.org/pipermail/tz-announce/2017-March/000046.html


typo :)

Thanks for the new Hooks lesson! :party-hooks:

Thanks for catching this @shayneofficer !!


Support config reload

When certain updates are applied to the configmap, it would be convenient to trigger a reload to the NATS server so that new config is applied.

For as long as the reload doesn't affect livenessProbe checks, it should be fine.


Add helper functions to get root objects from the ends of buffers

Something like archived_root and archived_unsized_root that calculate where the root object should start by subtracting from the end of the buffer.

Fixed by 78653595a2e56dd86c95af8f65ea2bbfe6cc5098


Add other endpoints, like info

Should we add the other endpoints of the routing api?
For example:
/info
/i18n

Not now