Time response plots

This PR implements time response plots for the various simulation routines in python-control via a new function time_response_plot() and via the plot() method on the TimeResponseData class.  This is aligned with the new plotting paradigm in #645.
Examples (from the user documentation):
Input/output time responses are produced one of several python-control functions: forced_response, impulse_response, initial_response(), input_output_response(), and step_response(). Each of these return a TimeResponseData object, which contains the time, input, state, and output vectors associated with the simulation. Time response data can be plotted with the time_response_plot() function, which is also available as the plot() method. For example, the step response for a two-input, two-output can be plotted using the commands:
sys_mimo = ct.tf2ss(
    [[[1], [0.1]], [[0.2], [1]]],
    [[[1, 0.6, 1], [1, 1, 1]], [[1, 0.4, 1], [1, 2, 1]]], name="MIMO")
response = step_response(sys)
response.plot()

which produces the following plot:

The TimeResponseData object can also be used to access the data from the simulation:
time, outputs, inputs = response.time, response.outputs, response.inputs
fig, axs = plt.subplots(2, 2)
for i in range(2):
    for j in range(2):
        axs[i, j].plot(time, outputs[i, j])

A number of options are available in the plot method to customize the appearance of input output data. For data produced by the impulse_response() and step_response() commands, the inputs are not shown. This behavior can be changed using the plot_inputs keyword. It is also possible to combine multiple lines onto a single graph, using either the overlay_signals keyword (which puts all outputs out a single graph and all inputs on a single graph) or the overlay_traces keyword, which puts different traces (e.g., corresponding to step inputs in different channels) on the same graph, with appropriate labeling via a legend on selected axes.
For example, using plot_input=True and overlay_signals=True yields the following plot:
ct.step_response(sys_mimo).plot(
  plot_inputs=True, overlay_signals=True,
  title="Step response for 2x2 MIMO system " +
  "[plot_inputs, overlay_signals]")

Input/output response plots created with either the forced_response() or the input_output_response() functions include the input signals by default. These can be plotted on separate axes, but also “overlaid” on the output axes (useful when the input and output signals are being compared to each other). The following plot shows the use of plot_inputs=’overlay’ as well as the ability to reposition the legends using the legend_map keyword:
timepts = np.linspace(0, 10, 100)
U = np.vstack([np.sin(timepts), np.cos(2*timepts)])
ct.input_output_response(sys_mimo, timepts, U).plot(
    plot_inputs='overlay',
    legend_map=np.array([['lower right'], ['lower right']]),
    title="I/O response for 2x2 MIMO system " +
    "[plot_inputs='overlay', legend_map]")

Another option that is available is to use the transpose keyword so that instead of plotting the outputs on the top and inputs on the bottom, the inputs are plotted on the left and outputs on the right, as shown in the following figure:
U1 = np.vstack([np.sin(timepts), np.cos(2*timepts)])
resp1 = ct.input_output_response(sys_mimo, timepts, U1)

U2 = np.vstack([np.cos(2*timepts), np.sin(timepts)])
resp2 = ct.input_output_response(sys_mimo, timepts, U2)

ct.combine_traces(
    [resp1, resp2], trace_labels=["Scenario #1", "Scenario #2"]).plot(
        transpose=True,
        title="I/O responses for 2x2 MIMO system, multiple traces "
        "[transpose]")

This figure also illustrates the ability to create “multi-trace” plots using the combine_traces() function. The line properties that are used when combining signals and traces are set by the input_props, output_props and trace_props parameters for time_response_plot.
Additional customization is possible using the input_props, output_props, and trace_props keywords to set complementary line colors and styles for various signals and traces:
out = ct.step_response(sys_mimo).plot(
    plot_inputs='overlay', overlay_signals=True, overlay_traces=True,
    output_props=[{'color': c} for c in ['blue', 'orange']],
    input_props=[{'color': c} for c in ['red', 'green']],
    trace_props=[{'linestyle': s} for s in ['-', '--']])

coverage: 94.967% (+0.1%) from 94.849% when pulling dd6983ef83e5cf20e6a9e7ed278d377e5594f1ff on murrayrm:time_plots-20Jun2023 into d1530357f1d57837756ea7adcb0ac592d473eb93 on python-control:main.

Looks pretty comprehensive and pretty good to me. I particuarly like that this makes it much quicker to plot the inputs and outputs of a mimo system.


[Browser Bookmarks] It's not working in searching bookmarks written in Korean.

It's not working in searching bookmarks written in Korean.

This has been fixed in release 1.43.0.


UG Updates

Fixes #172, #140, #117 and #171

Codecov Report

Merging #183 (eee68cb) into master (39719a6) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #183   +/-   ##
=========================================
  Coverage     64.65%   64.65%
  Complexity      573      573
=========================================
  Files           101      101
  Lines          1870     1870
  Branches        191      191
=========================================
  Hits           1209     1209
  Misses          600      600
  Partials         61       61

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


unwanted subscribe after Take(1)

Hi
This code always throw exception in Defer. Is it OK?
Observable.Concat(
    Observable.Return(1),
    Observable.Return(2),
    Observable.Defer(() => { throw new InvalidOperationException(); return Observable.Return(0); })
)
.Take(1)
.Subscribe(a => { });

Hi. This is a limitation of the observable protocol Rx.NET implements: Take can't dispose the sequence because it doesn't receive the means for it until the Concat has finished.
You have to introduce asynchrony or trampolining, for example:
Observable.Concat(
    Observable.Return(1).SubscribeOn(CurrentThreadScheduler.Instance),
    Observable.Return(2),
    Observable.Defer((Func<IObservable<int>>)(() => {
        Console.WriteLine("Executed!");
        throw new InvalidOperationException();
    }))
)
.Take(1)
.Subscribe(a => { });


Upload to pypi

Is there much else that needs to be done before this can be uploaded?
Am currently working on a project using this and being able to properly install and version it rather than installing from source would be quite helpful.
Happy to try and contribute if anything needs doing to prepare for this.

I could probably look at doing this in its current state with a bit of tidying to be honest (done is better than perfect etc.etc.)
I was hoping to improve the field handicaps, but have been too busy to do much recently so this may become something for a later version (and it's all unofficial at the moment anyway).
Always keen to see how it's useful.
How is your project packaged at the moment, as there are ways to add git repos to dependencies and point to specific commits/hashes? This could work in the interim. See here for an example.

@TomHall2020 Having refreshed my memory I think I'd like to close #2, #4, and #27 for release, as implementing these in future would likely be breaking changes, so best to set now.
#3 and #15 would be nice, but I think can be resolved in a backwards compatible way in future.
If you fancy taking a crack at #27 please do! - I have set out a rough plan for what would need doing in the issue.
Happy to help with guidance on forks/pull requests etc. if required.
I'll try and look at #4 and #2 this weekend depending on how much I freeze at a frostbite/EFAA course.

Yeah, #27 looks pretty straightforward I can cook something up for that.
The project isn't packaged as such, its a django web app so archeryutils is just a dependancy on the server side. At the moment the person I'm working on it with has just included this project as a submodule but the git pointer in requirements.txt would probably work better for us for now.

Hate to add to the list but theres probably one more issue to go before release, #74

Yeah, it's been a bugbear of mine for a while, I'll do it after #2 as it should hopefully be relatively straightforward with some default arguments.

Revisiting this, and once we close #57 (PR ready), #71 (PR #82 WIP), and #56 (PR #59 close) I think we are good to go.

#57 is now closed, #56 is now closed, #71 is only one remaining.
PR for PyPI release has been opened in #87


return errors when it happened

Signed-off-by: Vasiliy Tolstov<EMAIL_ADDRESS>

Can we use the V2 interface to compatible with the previous one?

Thanks @vtolstov ! I haven't looked every details yet but overall it looks good to me. I agree with @softwarejl on the compatibility concern. There are two ways to handle it. 1) As mentioned by @softwarejl , use V2 interface. 2) We may branch and release version 0.1 before merging this. Both approaches have pros and cons. For option 1), we will need to maintain 2 versions of interfaces for certain period. For option 2), old interface users won't get new features/bug fixes unless those are backported to v0.1 branch. Any thoughts on this?

what do you think about go.mod ?

I'm preferred option 2. So if you need the new features expected to have some breaks....

after that pr, I'm plan to push dhcp support, and after some fixes logical router support

@vtolstov thanks for the updates. I'll let @softwarejl do a detailed review. BTW, I saw some changes unrelated to what the patch was described to do "return errors when it happened", such as the changes for GetInstance(). If it is needed, it is better to be splitted as a separate commit. It is preferred that one commit fixes one problem.
For the compatibility problem, I think we agreed with option 2) branch and release version 0.1, and put this change as v0.2. I will do the branching.

Ok im revert methid name GetInstance

im return ol method name and once

Does i need to change someting else? (i'm plan to use this branch to logical router and dhcp)

Thanks


[BUG] Failure to detach persistent volumes leads to high cpu usage on node(s)

Describe the bug
This is something that has been essentially plaguing my installation of longhorn for around half a year. I never managed to figure out what was the issue but finally found a correlation.
What happens is that the CPU usage of the node gets a sudden spike of around 10-20% at a time. From running top I see that the issue is with udisksd
  20691 root      20   0  396436   4524      4 R 100.0   0.1   1092:42 udisksd

as you can see it's at one hundred percent. Mind you this doesn't happen cause of high workload.. only thing at that time that was happening were some log aggregation and monitoring which aren't the craziest.
I also found the following logs in loki:
2021-12-11 11:18:15 | I1211 09:18:15.502750       1 csi_handler.go:228] Error processing "csi-38680884821b4c05c56ba7667996dac369b866a01aa1aa409302391997f7fe30": failed to detach: persistentvolume "pvc-4380ebc9-2d6e-4210-be5a-6595b2d33d15" not found
-- | --
  |   | 2021-12-11 11:18:15 | I1211 09:18:15.405302       1 csi_handler.go:228] Error processing "csi-406ff657f7e74ca50f53b8c482f23d9511d4dd93013aa5376fdc033a3a73f4b3": failed to detach: persistentvolume "pvc-112a89b9-6def-4f01-9cd8-fba549af14b6" not found
  |   | 2021-12-11 11:18:15 | I1211 09:18:15.400294       1 csi_handler.go:228] Error processing "csi-5332f96fe97b35db19f3e676e4cb3ce326d3ac71dceaab98bcc46690b5defe84": failed to detach: persistentvolume "pvc-fac158ec-3386-4a04-8434-5f7afb50016d" not found
  |   | 2021-12-11 11:18:15 | I1211 09:18:15.399677       1 csi_handler.go:276] Detaching "csi-38680884821b4c05c56ba7667996dac369b866a01aa1aa409302391997f7fe30"
  |   | 2021-12-11 11:18:15 | I1211 09:18:15.387026       1 csi_handler.go:276] Detaching "csi-406ff657f7e74ca50f53b8c482f23d9511d4dd93013aa5376fdc033a3a73f4b3"
  |   | 2021-12-11 11:18:15 | I1211 09:18:15.367919       1 csi_handler.go:228] Error processing "csi-813d0603053e6846bee44fb8a6eec3ca49b6eefeb6f480eefc932f40f05b52c7": failed to detach: persistentvolume "pvc-e2a39f9c-bcd0-4b51-b9f0-205b8a8c106f" not found
  |   | 2021-12-11 11:18:15 | I1211 09:18:15.345239       1 csi_handler.go:276] Detaching "csi-5332f96fe97b35db19f3e676e4cb3ce326d3ac71dceaab98bcc46690b5defe84"
  |   | 2021-12-11 11:18:15 | I1211 09:18:15.334113       1 csi_handler.go:276] Detaching "csi-813d0603053e6846bee44fb8a6eec3ca49b6eefeb6f480eefc932f40f05b52c7"
  |   | 2021-12-11 11:18:15 | I1211 09:18:15.283684       1 csi_handler.go:228] Error processing "csi-5fd89cca526646a03df9795738baccbeea713fde042c3fa568c835726636d29f": failed to detach: persistentvolume "pgadmin-data-pvc" not found
  |   | 2021-12-11 11:18:15 | I1211 09:18:15.261435       1 csi_handler.go:276] Detaching "csi-5fd89cca526646a03df9795738baccbeea713fde042c3fa568c835726636d29f"
  |   | 2021-12-11 11:18:15 | I1211 09:18:15.261066       1 csi_handler.go:228] Error processing "csi-7c97874e716f3bdf20781f831d96678ad396c55191a26a9c16f832a909a54658": failed to detach: persistentvolume "serveremulator-config-volume" not found
  |   | 2021-12-11 11:18:15 | I1211 09:18:15.237014       1 csi_handler.go:276] Detaching "csi-7c97874e716f3bdf20781f831d96678ad396c55191a26a9c16f832a909a54658"
  |   | 2021-12-11 11:18:15 | I1211 09:18:15.214101       1 csi_handler.go:228] Error processing "csi-cc6283dd5eda42823f974b73c225258f6de282fe72a633d58219f55433bc5431": failed to detach: persistentvolume "pvc-1ab2ce69-a9dc-4b7c-829a-07e3f6e6fcc0" not found
  |   | 2021-12-11 11:18:15 | I1211 09:18:15.188112       1 csi_handler.go:276] Detaching "csi-cc6283dd5eda42823f974b73c225258f6de282fe72a633d58219f55433bc5431"
  |   | 2021-12-11 11:18:13 | I1211 09:18:13.612362       1 csi_handler.go:228] Error processing "csi-b650ff8947758094d1423e2334142b59eb7a6ee9a1faa92c5e3edef26edf634e": failed to detach: persistentvolume "pvc-059771a0-0d89-4084-9769-2de528061f36" not found
  |   | 2021-12-11 11:18:13 | I1211 09:18:13.458902       1 csi_handler.go:276] Detaching "csi-b650ff8947758094d1423e2334142b59eb7a6ee9a1faa92c5e3edef26edf634e"
  |   | 2021-12-11 11:18:13 | I1211 09:18:13.320235       1 csi_handler.go:228] Error processing "csi-a125c2b76d63411a37a3c02cfe3ad428f32741b915651f82282828301d063319": failed to detach: persistentvolume "pvc-b0de8d15-935a-423b-9d20-be81561d9e4d" not found
  |   | 2021-12-11 11:18:13 | I1211 09:18:13.295698       1 csi_handler.go:276] Detaching "csi-a125c2b76d63411a37a3c02cfe3ad428f32741b915651f82282828301d063319"
  |   | 2021-12-11 11:18:02 | E1211 09:18:02.803371       1 reflector.go:127] github.com/kubernetes-csi/external-snapshotter/client/v3/informers/externalversions/factory.go:117: Failed to watch *v1beta1.VolumeSnapshotClass: failed to list *v1beta1.VolumeSnapshotClass: the server could not find the requested resource (get volumesnapshotclasses.snapshot.storage.k8s.io)
  |   | 2021-12-11 11:17:58 | E1211 09:17:58.745379       1 reflector.go:127] github.com/kubernetes-csi/external-snapshotter/client/v3/informers/externalversions/factory.go:117: Failed to watch *v1beta1.VolumeSnapshotContent: failed to list *v1beta1.VolumeSnapshotContent: the server could not find the requested resource (get volumesnapshotcontents.snapshot.storage.k8s.io)

which correlate to the exact second the spike was detected.
To Reproduce
Nothing really special.. I have a basic installation of longhorn with some cpu limitations from the settings of the UI. I have limited the replica manager CPU down since I don't really have replicas.
Expected behavior
No sudden spikes in CPU
Log or Support bundle
longhorn-support-bundle_e7029229-2c3e-47d4-8649-754a502363e3_2021-12-11T14-01-43Z.zip
Environment

Longhorn version: v1.2.3-rc1
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): Kubectl
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: K3s  v1.21.4+k3s1

Number of management node in the cluster: 1
Number of worker node in the cluster: 3

Node config

OS type and version: ubuntu 21.04 ARM based on raspberry pis
CPU per node: 4
Memory per node: 8GB
Disk type(e.g. SSD/NVMe): SSD
Network bandwidth between the nodes: Gigabit

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): Baremetal
Number of Longhorn volumes in the cluster: 19-20 depending

Random spike time as mentioned in the bug

These are all examples of this happening over the span of a day or two. Where you see the sudden drop, that is a restart of the cluster. Currently it's my only way to solve this.

longhorn-support-bundle_e7029229-2c3e-47d4-8649-754a502363e3_2021-12-11T14-01-43Z.zip
Support bundle

Thank you for the reply.

about the rc releases I wasn't aware, thank you for the clarification
regarding the udisksd I don't really have anything else running on these machines... For it to be taking so much cpu I only assumed.
great info about the replica. Figure that's why I have a bit of issues while first starting my cluster. Thanks!
there shouldn't be anything wrong it's performing normally and there is no pressure from what I see. I do have workloads there yes but they amount to only half of the cpu usage and I've prevented Longhorn from scheduling on that node as to not take any resources.

Okay, thank you for the update!
We need to double-check the udisksd to see if it is related to Longhorn cc @keithalucas
I am not sure if the spike of 10-20% is really abnormal? Are you using Prometheus to monitor the CPU usage which gets data from the Kube metric server? If so it could fluctuate in my experience.
The persistentvolume "xyz" not found Is is definitely a problem. Here the CSI attached cannot query the PV objects which should always exist. Which node is the ETCD in the above monitoring graph? Do you have prometheus setup to monitor ETCD?

Okay, thank you for the update!
We need to double-check the udisksd to see if it is related to Longhorn cc @keithalucas

udisksd is not related it Longhorn.  It's a D-Bus service for disks.  https://freedesktop.org/wiki/Software/udisks/  It might be that when longhorn creates a block device, udisks detects that.

I am not sure if the spike of 10-20% is really abnormal? Are you using Prometheus to monitor the CPU usage which gets data from the Kube metric server? If so it could fluctuate in my experience.
The persistentvolume "xyz" not found Is is definitely a problem. Here the CSI attached cannot query the PV objects which should always exist. Which node is the ETCD in the above monitoring graph? Do you have prometheus setup to monitor ETCD?

Okay, thank you for the update!
We need to double-check the udisksd to see if it is related to Longhorn cc @keithalucas
I am not sure if the spike of 10-20% is really abnormal? Are you using Prometheus to monitor the CPU usage which gets data from the Kube metric server? If so it could fluctuate in my experience.
The persistentvolume "xyz" not found Is is definitely a problem. Here the CSI attached cannot query the PV objects which should always exist. Which node is the ETCD in the above monitoring graph? Do you have prometheus setup to monitor ETCD?

I understand. I do have prometheus monitoring and the etcd is on the green colored graph line.
Also prometheus isn't really monitoring etcd itself, best I can tell

udisksd is not related it Longhorn.  It's a D-Bus service for disks.  https://freedesktop.org/wiki/Software/udisks/  It might be that when longhorn creates a block device, udisks detects that.

Is there a way / should I prevent udisks from detecting that. Even if it's a not part of Longhorn udisks should ship with all ubuntu isos... It'd be prudent to prevent this kind of cpu spike

So I have stopped literally all my workloads on the cluster after the peak from before. Running kubectl top po -n longhorn-system shows me that the longhorn engine-image-ei is taking almost 1 whole cpu out of the 4 i have ( the only one that is not taking any cpu is the one that is scheduled on the master )

along with longhorn manager taking another 300m. the ONLY workloads here are grafana and prometheus and they are not even using longhorn to store data ( moved them to an NFS )
You can see the drop of resources used:

This is what I have from metrics-server

This is a ps from one of the nodes sorted by only highest cpu usage:

Seems like udisksd does detect something?

I have also noticed that thud happens way faster with the new Longhorn engine image

Currently testing out a script that is clearing any orphaned pods and am consistently clearing the pods from k3s in case there are any that are not running so to eliminate that as an issue. I drained one node while this issue was happening and i noticed that the CPU usage went down instantly. The udisks2 process as well as that longhorn one that is in an infinite sleep taking 80% or something like that of the CPU instantly went down. Going to verify this by stopping that process directly next time this issue happens. If this fixes it then the issue is there ( Check this out: https://user-images.githubusercontent.com/17056014/146761940-721c3abe-7825-46d0-b8a4-405d32c148cd.png ). If not I will kill the k3s service directly and see what that does.
Would also like to note that there is no IO wait when running iostat.

Would like to say that nothing I tried helped me to narrow down the issue. I'm closing this as I reinstalled the os completely and recreated the cluster since then... This has been bothering me for 3 months now and I couldn't really debug this more.

Even after reinstall bug is still there...

The engine-image-ei-xxx pods is just checking ls /data/longhorn && /data/longhorn version --client-only every 5s. In my cluster, they only take 5m. It is weird that they take a whole core in your cluster. Can you manually run the command and check the CPU usage?
For the udisksd using too much CPU, I am wondering if the problem also happens with any storage solution. On a clean node with similar os outside of the cluster, can you try out manually creating a bunch of loop devices, mount to different directories. Then check the udisksd process

So running the command many many times fast yielded nothing. I suspect that the issue is indeed with udisksd... I will try attaching many directories as suggested

So I think I can safely say that I found the issue. The issue is not related to longhorn and I am not 100% certain where to post the bug but what I have found.
@PhanLe1010 gave me an idea with manually mounting to different directories. So essentially that is what happens. The livenessProbes and readinessprobes do exactly that. Everytime a  probe is ran then there is a mount to the pod ( according to my limited understanding of the core of k3s and systemd journal logs ). After a while there are so many of these mounts that I suppose leads to the high CPU usage.
I honestly am not 100% certain that this is the issue but removing most of my probes and making the ones left more sparse has led to my environment being stable for ~ 3 days now (usually the first day was an issue)

I suspect that the issue is indeed with udisksd...

@Michaelpalacce Thanks for tip. I noticed that udisks2 is by default installed in Ubuntu 20.04 but not anymore in Ubuntu 22.04.
Removing it from Ubuntu 20.04 looks also making quite big difference on CPU usage and afaiu Longhorn still works normally:

@olljanat that's a great find... This issue was the bane of my existence and I honestly thought the issue was related to arm partially...
I saw a big issue with probes and maybe it was indeed an issue with udisksd...
Coincidentally around the time I decided to migrate my servers to AMD architecture and I saw this issue is completely gone, however I also did update to latest version of Ubuntu ( at the time 22.04 ) so I'm my mind the issue was arm related to probes. I didn't take the fact that the update from 20 to 22 could have been the actual resolution.


Introduce path-mode CLI option

Closes #1900

:+1:  nice work : D

Thanks ;)
the only thing missing since night was default option value ;) (That's why CIs were red)
Have you only review it, or play with it as well? (just a question)

just a quick review, I'm rebasing my work on top of your branch and was checking of it was my test or your change : D


Support generic rest end point for notification

Discussed in https://github.com/cuebook/CueObserve/discussions/129

Originally posted by pjpringle August 30, 2021
Not everyone has slack especially in the work place environments.  Provide support to plug in rest calls to notify of anomalies.

Maybe instead of a plug-in system, an easier solution would be to provide the possibility to configure a webhook. This way anything can be connected in a fast way with things like Zapier, Integromat...


Feature Request - Add an option to use apple keychain services

About the only thing keeping me from using this browser day-to-day on iOS is lack of integration with apple's keychain. I assume I'm not alone, hence the feature request.

Hey @swasey! Thanks for the request. 🙂
I'm interested in getting more information about the sort of integration you're looking for – right now, we already offer support for Autofill from iCloud Keychain and third party password managers (see screenshot). Are you referring to the ability to save new credentials to the Keychain?
Thanks!

Thanks for the quick response!
I misspoke---I already use (and appreciate) the keychain support on iOS.
I would appreciate similar support on Darwin (e.g., my laptop).


Build on nostr

A section to cater to developers

Have a question about nostr? (footer)

Instead of FAQ:  #asknostr

Feedback is always welcome. Thank you for your time.

I like this a lot more.

I'd like to add a point on data, because practices on nostr differ greatly from those on social media platforms.
How would you describe the difference?

I like this a lot more.

Grateful.

I'd like to add a point on data, because practices on nostr differ greatly from those on social media platforms.
How would you describe the difference?

This is great. Well done.
I'd say also leave room for the "other stuff"
On data in social, such as discovery, I'd say it propogates more naturally without tge central planners that exist in traditional platforms.

Awesome work. Great design.

super impressive. love the cranes, the color and the content. Well done

Will have proper review later today. Lgtm! 🚀

I'd like to add a point on data, because practices on nostr differ greatly from those on social media platforms.
How would you describe the difference?

This is great. Well done.
I'd say also leave room for the "other stuff"

Great point. Gives me a few ideas to highlight the constant nostr development and future possibilities. I'll work on that.

On data in social, such as discovery, I'd say it propagates more naturally without the central planners that exist in traditional platforms.

The less centralized planning is a good point. I was thinking more in terms of people not being the "product" for advertisers, and on data not being collected.
The way nostr works  is a great improvement on data collection in comparison to social media platforms.
I know there are some details like IP and  also metadata on some implementations of DM's, or loss of privacy if your key is lost. Yet more work is being done on privacy in general to address many of these issues.
Is there something else I should be aware of?

Will have proper review later today. Lgtm! 🚀

Thanks so much!

New updates & improvements
Thanks for everyone's feedback.
The Other Stuff gets a special section to highlight the importance of constant nostr development without centralized control.

New bullet point for data

Added a dropdown on keys to reduce the amount of text for people who already know about them. Added point on AI.

Added satellite.earth, which had been pending for update based on Issue #6
Updated the point on nostr not being a blockchain to also include that it is not a cryptocurrency either

cam you mention people are building marketplaces and IoT on nostr. On dot com we have "A better internet is possible: decentralize Twitter, eBay, IoT and other stuff."

How about for the subtitle:
"the free and open protocol, for building a free and open internet."
How about for "The Other Stuff":
"The Other Stuff A better internet is possible! Nostr is not just social media. The paradigm shift in Nostr that empowers users, is being used to create marketplaces, IoT, DNS systems and even entire websites."
Can you please add:

horse (for hw signers) under extensions  https://chromewebstore.google.com/detail/horse/ogdjeglchjlenflecdcoonkngmmipcoe?hl=en-US&pli=1
market.nostr.com under webapps
YokiHonne under andoid and IoS

Bugs: Video popup seems broken

Thank you, I'll look into all of these and send another update.

How about for the subtitle:
"the free and open protocol, for building a free and open internet."

I'm suggesting a simplified version, hoping it still embodies the concept you're hoping to share.

How about for "The Other Stuff":
"The Other Stuff A better internet is possible! Nostr is not just social media. The paradigm shift in Nostr that empowers users, is being used to create marketplaces, IoT, DNS systems and even entire websites."

As I read your ideas, I thought: What makes nostr a better internet?
I think you answered it in empowerment.
What do you think of this version?

Can you please add:

horse (for hw signers) under extensions  https://chromewebstore.google.com/detail/horse/ogdjeglchjlenflecdcoonkngmmipcoe?hl=en-US&pli=1
market.nostr.com under webapps
YokiHonne under andoid and IoS

Still have to add these. I'll work on that next.
Fixed the video bug. Thanks for noticing.

Bugs: Video popup seems broken

Get the Nostr!
section update
With the addition of the following clients and extension, the list looked too busy. I've done some design updates.
Highlighter
HiveTalk
Horse
Nostr Market
Nostrnests
YakiHonne (Android, iOS, web)
Zap stream
Desktop version

Mobile version

Sorry for being absent, had a holiday. Really want to get this merged soon!
Going to test again. Thank you for all the updates 🙌

On other stuff, how about: "An internet that empowers users is possible."

On other stuff, how about: "An internet that empowers users is possible."

Or people instead of users
"An internet that empowers people is possible."

What was latest on this? :-)


Random access benchmarks are runnable again

we should honestly run benchmarks as part of CI on develop

We should write more tests. There are people who like to refactor and that doesn’t work without coverage

Lol yes, that too. Part of it is that benchmarks currently sort of pull double duty with some form of "e2e testing", which is a separate coverage thing that should always run.
But it's also valuable to get CI to let us know if benchmarks are broken. Should probably cargo build --all-targets in CI as well


Exit on test failure

What type of PR is this?
/kind bug
What does this PR do / why we need it:
https://github.com/redhat-developer/gitops-operator/issues/133
Have you updated the necessary documentation?

[ ] Documentation update is required by this PR.
[ ] Documentation has been updated.

Which issue(s) this PR fixes:
Fixes #133
Test acceptance criteria:

[ ] Unit Test -  NA
[ ] E2E Test - NA

How to test changes / Special notes to the reviewer:

/lgtm
/approve


feat(options): Add prop API to choose file types allowed :fire:

Changelog
Feature :fire:

[ChatWindow] Add prop API to choose file types allowed - Ex : accepted-files="image/png, image/peg, application/pdf

IMPORTANT:  I couldn't really test with the demo, I don't have a firebase account

What about this PR ? @antoine92190

Looks good, will check and test it this week


fix: pin silero-vad version to v4

seems there is a new version (v5) which cant handle sample sizes other than 512 for the 16kHz.
let fix it for now to not confuse others who are trying this repo :)

OK, thanks. Citation for your claim needed -- I found the reference here: https://github.com/snakers4/silero-vad/issues/2#issuecomment-2195433115
So this is a hotfix but we should prefer v5 and make it working with the fixed sample window size, right? Do you know how?

VAD now works with 8 kHz and 16 kHz sample rates, only with fixed 256 and 512 sample windows respectively;
no unfortunately not, that's why I came up with this first ;)

no unfortunately not, that's why I came up with this first ;)

Then please report it in Siler repo. Thanks!

but yeah, v5 sounds promising though. might try to chunk the audio and test individual chunks and see if at least one has voice

ok, thanks. Please create an issue or a new PR for that.

no unfortunately not, that's why I came up with this first ;)

Then please report it in Siler repo. Thanks!

what exactly? the issue lies here. the code is working ONLY with v4, but we do not specify the version right now. so we need to do this hotfix until we are ready for v5. :)

VAD now works with 8 kHz and 16 kHz sample rates, only with fixed 256 and 512 sample windows respectively;

no unfortunately not, that's why I came up with this first ;)

OK, I thought Siler VAD doesn't work.


Changes for AksIot

To enable dynamic deployment scenarios, only require a gateway when there is routes defined
To enable deployment of Windows VM (which do not use vsock), extend the CreateVirtualMachineSpec interface

@johnsonshih @madhanrm @nagiesek  @jagadishmurugan @raghavendra-nataraj @seanyen I cannot add reviewers

}

This might not necessary when detaching, remove it if it's not required

Refers to: vm.go:371 in f60ece1. [](commit_id = f60ece137933578129bc66f5a4f50a3a9790b09b, deletion_comment = False)


Copyright added

As I said I want to add the name "To-Do List" and the copyright that is added so please merge it.

resolve conflicts

Done

changes not visible


Update TAP information for jck tests

Update  failed test target output parse in tap file to avoid the information cut and missing
Update jck test cases failed information to be the same way as openjdk tests for diagnostic=failure
Close #439

Grinder:
temurin-compliance/job/Grinder/4087/

Update won't affect jdk tap files Grinder for jdk_custom still works fine https://ci.adoptium.net/job/Grinder/8992/
Grinder triggered by rerun link works fine https://ci.adoptium.net/job/Grinder/8993/

Seems like this review is being held up over differing preferences for code style and readability.
Given the related aqa-tests PR is merged (before this PR which it depends on), can we proceed to bring this in and update style later?  I am worried to hit a bunch of test jobs failing tonight otherwise.  ?
I am also, waiting on this to merge before creating tags and release branch.

sigh, I did not notice https://github.com/adoptium/aqa-tests/pull/5106 was merged despite there being the Depends on message in the description.
I merge this in to unblock other activities.

thanks @llxia !  I will proceed with https://github.com/adoptium/aqa-tests/issues/5103#issuecomment-1970331613 now.


Feature request: ability to disable --bail in CI

Currently the --bail flag is enabled by default when running in CI environments.
If possible, it'd be great if users could override this behavior and disable the bail mechanism even when running CI.
From what I can tell it should be possible by allowing the --bail flag to take a boolean argument, this way users could do --bail=false to explicitly disable bailing.

@dreamorosi I've added --no-bail that lets you force bail to be false.
A new version has been published.


RT-571: Feature/sc home refactor

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@e0a656a). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop     #285   +/-   ##
==========================================
  Coverage           ?   92.26%
==========================================
  Files              ?      105
  Lines              ?     5689
  Branches           ?        0
==========================================
  Hits               ?     5249
  Misses             ?      440
  Partials           ?        0

Continue to review full report at Codecov.

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


Login sample python

This is an updated login sample I wrote which caught some of the issues with the new walletAuthenticate and walletConfirm workflow.

I specifically have it not as an integration test because I want to use it for customer side testing.


Rules from AT

Execution of some of the AT-rules fails on a fair percentage of the test data from the dgc-testdata repo. (That's not covered by/available in the dcc-crosscheck app.) I just changed the tooling a bit that it becomes clear which rules and what test data, rather than just erroring out at some point with only a stacktrace.
Can you update from origin, run the tooling (locally), and try to see where it goes wrong?

Hi @chris-baumann-at : I left you some comments on Slack.


SDK client silently ignores capturing if server responds with 413 (big payload)

Greetings fellows,
we recently by accident discovered that we are not getting all exceptions in Sentry.
Current versions
Python 3.6.7
Django 2.1.7
Celery 4.1.1
Sentry SDK 0.7.2
Current behavior
If the exception will have a big context (I do not know the exact limits of it), Sentry server (sentry.io) responds with HTTP code 413.
The code in sentry_sdk.transport.HttpTransport#_send_event is raising ValueError("Unexpected status code") in this case. If you do not set debug=True during the Sentry SDK initialization, you would not know that and you would be completely unaware of having issues in the code.
This issue today took us some time to discover.
Expected behaviour (IMHO)
I believe, Sentry SDK should try to do its best to send exceptions.
In case of a too big payload, it maybe could retry the request without the full payload, but just an exception name with some note "Your context is too big, could not be shown" or something like this.
In the worst case, we should get this kind of events in logs even without debug turned off.
What do you think?

There's some internal discussion around this, and I personally believe a better fix is to loosen the hard limits on event payload size to a level where they're no longer a problem in practice (because for all other events we already aggressively trim the event data to make it acceptably small). This presents some challenges around scaling that we haven't figured out yet.
In case this never happens I still believe that the fix should be purely serverside.

@untitaker hey Markus,
thanks for the update.
We did clean the event causing troubles, but I want to be sure about possible future cases, that is why I raised this ticket.
If you could update us whenever you will have some decisions on this one, it would be great. 👍

We are also losing errors because of this. Until this is fixed, this may cause serious production issues for the companies that depend on you for error management.
We will truncate our messages for the meantime, but consider that a server-side solution will have to decompress the gzip encoded message, and will cause serious server load.
You should consider a hotfix for this, before continuing the discussions of a higher level solution.

@kobybum if you tell me which values you are truncating we can start to do that in the SDK instead.

Thanks for the quick response!
I'm currently working on a solution. It's hard to pinpoint exactly what should be truncated - in our case, we pass around huge dictionaries, and have huge SQL queries.
The SQL queries are recorded as breadcrumbs, and the locals are sent as-is to the server.
A solution is disabling locals, which would be unfortunate, and truncating the breadcrumb 'message' value.
The very least that should be done is give the user feedback that sentry is dropping events - either through a code warning, or creating an event with Event size exceeded permitted size in the UI
To fix the actual problem, the SDK needs to try to omit metadata until it can send the event.
e.g Try dropping local vars, then breadcrumbs, then extra error data.

@kobybum After some internal discussion with @mitsuhiko it seems like we're currently not able to implement the server-side feedback about this that easily, but it's a known issue for sure. :(
I suppose we need to build something into the SDK here.

FYI we're going to do some general work on trimming local variables etc in the SDK in the next two weeks

To my surprise we didn't do any trimming on breadcrumbs/sql queries, so that was a low-hanging fruit: #319
@all, please report which parts of events are growing out of control.


Fix misleading comments about defaultMTU config parameter

Default value should not be 1450 in YAML manifest: if someone just
uncomments this line, it will force the MTU to be set to 1450, as
opposed to the default behavior which is auto-discovery.
The corresponding comment in cmd/antrea-agent/config.go was incorrect.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@c9f5260). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1906   +/-   ##
=======================================
  Coverage        ?   41.31%
=======================================
  Files           ?      116
  Lines           ?    14611
  Branches        ?        0
=======================================
  Hits            ?     6037
  Misses          ?     8056
  Partials        ?      518

Flag
Coverage Δ

unit-tests
41.31% <0.00%> (?)

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

/skip-all


POST issue in SSE

Hi,
I try  post method in sse but,unfortunately it shown  error
"Response for preflight has invalid HTTP status code 403 ". Can you rectify this error.

Thanks.

It sounds like you're getting a 403 from the SSE stream. Nothing sse.js can do about that. Are you sure your stream address loads correctly?

Hi,
It's working fine now thanks.

Hi mpetazzoni,
Is that possible to terminate connection from front end in SSE while response is ended in Backend?

I'm not sure I understand what you mean, but if the server closes the connection, the client will see that connection terminate.

Hi mpetazzoni,
excuse for previous query.my actual query is:
if server side closes the connection,how client side know the connections is terminated.
Is there any flags are sent by the server side,is it mandatory to send the flag (connection is terminate by server side)?
Can you provide sample syntax for above scenario,for both client side and server side ?

In Javascript, using an EventSource, the onReadyState property will tell you if the connection is closed. You can also setup an event listener on the onreadystatechange events to be notified when that happens, or on the close event if your browser supports it (https://developer.mozilla.org/en-US/docs/Web/API/EventSource).
In Java, it would be similar. For example using the Jersey SSE client (https://jersey.java.net/documentation/latest/sse.html#d0e11970) you can use isOpen() to check the state of the connection.
Hope this helps!


Error to build dockerfile

Hi,
I have no problem using the image pulling from docker hub. However, I tried to add packages in the dockerfile and when I built it gave me the error:
error: failed to initialize alpm library:
(root: /, dbpath: /var/lib/pacman/)
could not find or read directory

Thanks in advance !!!

It seem the same problem in https://bugs.archlinux.org/task/69563 . The archlinux base image is too new to be incompatible with host system. Using other base image or upgrading the host system  could resolve the problem.
For example using ubuntu base image  and replace the env-build part
from ubuntu:latest as env-build

run apt-get update && \
    DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --no-install-recommends --yes \
        gcc g++ gdb bison flex make \
        git python3 python3-pip python3-dev openscenegraph libopenscenegraph-dev curl \
        openmpi-bin libopenmpi-dev \
        gdal-bin libgdal-dev minizip rocksdb-tools duktape cmake \
        default-jre default-jdk openjfx \
        swig doxygen graphviz libpcap-dev tcl qt5-default libqt5svg5 libqt5opengl5-dev \
        ffmpeg && \
        python3 -m pip install --upgrade pip && \
        pip install posix-ipc numpy scipy pandas matplotlib  && \
        rm -rf /var/lib/apt/lists/*

This can be built in ubuntu 16.04 host environment.

I have updated the Dockerfile based on your suggestion:

from ubuntu:latest as env-build

run apt-get update && \
    DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --no-install-recommends --yes \
    gcc g++ gdb bison flex make \
    git python3 python3-pip python3-dev openscenegraph libopenscenegraph-dev curl \
    openmpi-bin libopenmpi-dev \
    gdal-bin libgdal-dev minizip rocksdb-tools duktape cmake \
    default-jre default-jdk openjfx \
    swig doxygen graphviz libpcap-dev tcl qt5-default libqt5svg5 libqt5opengl5-dev \
    ffmpeg && \
    python3 -m pip install --upgrade pip && \
    pip install posix-ipc numpy scipy pandas matplotlib  && \
    rm -rf /var/lib/apt/lists/*

from env-build as omnetpp-build
run curl -L https://github.com/omnetpp/omnetpp/releases/download/omnetpp-6.0pre11/omnetpp-6.0pre11-src-linux.tgz|tar -zxv &&\
    cd /omnetpp-6.0pre11 && \
    source ./setenv -f && ./configure WITH_OSGEARTH=no PREFER_CLANG=no && make

from env-build as inet-build
copy --from=omnetpp-build /omnetpp-6.0pre11 /omnetpp-6.0pre11
run cd /omnetpp-6.0pre11 && source ./setenv -f && \
    curl -L https://github.com/inet-framework/inet/releases/download/v4.3.2/inet-4.3.2-src.tgz | tar -zxv -C /omnetpp-6.0pre11/samples && \
    cd /omnetpp-6.0pre11/samples/inet4.3 && \
    source ./setenv -f && make makefiles && make

from env-build as simu5g-build
copy --from=inet-build /omnetpp-6.0pre11 /omnetpp-6.0pre11
run cd /omnetpp-6.0pre11 && source ./setenv -f && cd /omnetpp-6.0pre11/samples/inet4.3 && source ./setenv -f && \
    curl -L https://github.com/Unipisa/Simu5G/archive/refs/tags/v1.2.0.tar.gz | tar -zxv -C /omnetpp-6.0pre11/samples && \
    cd /omnetpp-6.0pre11/samples/Simu5G-1.2.0 && \
    source ./setenv -f && make makefiles && make

from env-build
label maintainer.name="Firejox"
label<EMAIL_ADDRESS>
copy --from=simu5g-build /omnetpp-6.0pre11 /omnetpp-6.0pre11
run chown -hR 1000 /omnetpp-6.0pre11

cmd ["/bin/bash"]

but now, I am receiving this error:

> /bin/sh: 1: source: not found
> The command '/bin/sh -c curl -L https://github.com/omnetpp/omnetpp/releases/download/omnetpp-6.0pre11/omnetpp-6.0pre11-src-linux.tgz|tar -zxv &&    cd /omnetpp-6.0pre11 &&     source ./setenv -f && ./configure WITH_OSGEARTH=no PREFER_CLANG=no && make' returned a non-zero code: 127

Thanks in advance !!!

Now, I have been able to build the image properly. Thank you!!!!!
Now I plan to add VNC as part of the image to be able to launch Omnetpp from an ubuntu server. Do you have any advice in this regard?

I think just need to install vnc server and xvfb  in the docker image, and then binding the port when you run the image.
This might help you to setup the vnc server.

Thanks a lot for the advice. I will close the issue.


Fixed link to coffeescript

CI build due to S3 being silly.
I'm giving this a :+1: and pinging @istr and @mickaelandrieu for their input

I'd like to see a note to inform user that coffee script is not supported with phantomjs 2+ and slimerjs :)

CI build due to S3 being silly.

@BIGjuevos Yes, there seems to be a throttling in place with no exemption for travis build servers.
I restarted the build.

I'd like to see a note to inform user that coffee script is not supported with phantomjs 2+ and slimerjs :)

Yes. Let us keep in mind to drop mention of coffeescript completely for CasperJS 2.0 (that might drop PhantomJS < 2.0.0 support).

@mishari You could make a lot of people happy if you added some comment about the engines supporting coffeescript at all, right at the beginning of the document. See #1470.

I've commented about coffeescript support with #1510.
I think we can merge just this in now as it is just updating the URL.

Sure :) thank you @mishari


Better packaging practices

Is your feature request related to a problem? Please describe.
Not really a problem, but a couple of nice-to-have things which I think make sense:

Full tarball gzipped and/or xzipped version. For saving space purposes? GitHub offers zip & gzip for tags by default at https://github.com/polybar/polybar/archive/<version>.*, but the full tarball, which is at https://github.com/polybar/polybar/releases/download/<version>/polybar-<version>.tar is plain tar, which can be compressed quite efficiently.

Source directory this tarball unpacks into should be polybar-<version> instead of plain polybar. This is good for clarity, but also from practical standpoint could be important for source-based distros, which unpack sources to e.g. /usr/src. The thing is, when package sources of another version get unpacked to /usr/src/package and the build fails for some reason, without additional safety checks (which I'm sure all distros have) the new version would unpack in the same dir, overwriting some files and resulting into a mixed source directory (GitHub does that for tags by default as well).

Version 3.5.0 now has a .tar.gz release archive as well. All future releases will only have a .tar.gz release archive.


Pathfinding

Feature branch: None
Pathfinding is certain to be useful when generating e.g. (who could have guessed it) paths, so it would make sense to implement a framework to facilitate it.
Suggested implementation
There is a global pathfinding graph where each node is an in-world block with six weights representing every direction.
The weights are determined by the type of block in the appropriate direction as determined by a configurable list
For example:
# gold and emerald blocks have a weight of 0
# grass, sand and stone blocks have a weight of 1
# air and water have a weight of 2
PATHVALUE = (('minecraft:gold_block', 'minecraft:emerald_block'),
             ('minecraft:grass_block', 'minecraft:sand', 'minecraft:stone'),
             ('minecraft:air', 'minecraft:water'))

The global graph starts empty and must be populated by other functions, so algorithms that do not require the full map for computation are initially at an advantage.
Such algorithms might include:

BFS
Dijkstra
A*

Suggestion:
The function signature could contain variables for both a weight list,
which works as written above, OR a function, that accepts a blockname and
returns a weight. This gives a bit more flexibility to the user.
You might even give function a tuple with the blocknames of the "from"
block and the "to" block, which would allow things such as "continue the
path as long as we are still in the same block type".

Moved to https://github.com/avdstaaij/gdpc/issues/29


What does UAI stand for?  You don't define that term here.

[Enter feedback here]
What does UAI stand for?  You don't define that term here. AT least not in a way I can search for it. I search for UAI and I don't get something like "Universal Azure Identity(UAI)"  I'm guessing.  I'm trying to figure it out. You are the top hit for "UAI azure" in Bing so please add that information.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b3ca8dfc-9335-e05d-b225-e53d91cbbb45
Version Independent ID: a11ce6ca-2968-f638-e668-9c1584aa2e2f
Content: Use managed identities for access control - Azure Machine Learning
Content Source: articles/machine-learning/how-to-use-managed-identities.md
Service: machine-learning
Sub-service: enterprise-readiness
GitHub Login: @rastala
Microsoft Alias: roastala

@rboucher Thanks for the question. We are investigating the issue and will update you shortly.

@rboucher Thanks for reporting this.  UAI stands for user-assigned managed identity. I'll make the update to the docs to reflect this :)

Great! Thanks!

The documentation has been updated. The edits will be published to the live site later this afternoon.
We will now proceed to close this thread.
#please-close


[feat]: Custom MOTD for EmbassyOS

Prerequisites

[X] I have searched for existing issues that already suggest this feature, without success.

Describe the Feature Request
When users login to their Embassy via ssh they are grated with standard/boring ubuntu's MOTD. The idea is to fine tune MOTD to display useful information for EmbassyOS (not ubuntu).
Describe the Use Case
Cooler shell experience.
Describe Preferred Solution
Here is my MOTD shell as an example

Describe Alternatives
Welcome to
,---.     |                        ,---.,---.
|--- ,-.-.|---.,---.,---.,---.,   .|   |`---.
|    | | ||   |,---|`---.`---.|   ||   |    |
`---'` ' '`---'`---^`---'`---'`---|`---'`---'
                              `---'  B E T A

WELCOME TO
 _____       _                   _____ _____
|   __|_____| |_ ___ ___ ___ _ _|     |   __|
|   __|     | . | .'|_ -|_ -| | |  |  |__   |
|_____|_|_|_|___|__,|___|___|_  |_____|_____|
                            |___|  0.3.0 BETA

Anything else?
This would look even better with issue #904 implemented

I think you could go ahead and make a PR for this one for consideration / review by the team.  Looks cool!!

We will accept a PR that implements this, if you need guidance on exactly what to change please reach out. I haven't done anything with MOTD's before so I may need to understand what you actually did to get this to happen in the pictures you submitted above but this should be doable.

OK than.
Keep smashing those bugs guys and I'll do my best to beautify Embassy's shell experience.

The initial work is done. Merging #1116 will result in something like this:

Because ubuntus landscape-sysinfo is broken at the moment I have disabled it. We can discuss fixing it or just adding our own code to 00-embassy file.


Update XeTLA's attn implementation of Triton benchmark

https://github.com/intel/intel-xpu-backend-for-triton/actions/runs/10397951345

Added a change to run flash attention with default path first, then we can add advanced path in a separate PR when it is ready.

@ESI-SYD Please check if you are ok with https://github.com/intel/intel-xpu-backend-for-triton/pull/1877/commits/984905a97dc537ac7988f5a0c7fbdf83ea85922b.

Verified that tolerance needs to be increased for advanced path in PoC branch too. https://github.com/intel/intel-xpu-backend-for-triton/pull/1877/commits/466cb15a3a24f3558db5802eb7b1fe6010ac00e0


feature: 支持细粒度控制渲染 Agent 包进程拉起 & 托管模式 (closed #1810)

PR
CheckList（PR Assigners）
确认已完成以下操作：

[x] 已将分支与当前合入分支同步
[x] 已在关联 Issue 中补充「功能自测」部分内容
[x] 已更新关联 Issue 的状态 backlog -> todo -> for test -> tested（需通过测试同学测试） -> done
[x] 将 PR 添加上 pr/reviewable

CheckList（PR Reviewers）
确认已完成以下操作：

[ ] 检查关联 Issue 「功能自测」部分内容
[ ] 必要时打回 pr/reviewable，要求重新修改
[ ] 及时 Approve

Codecov Report

Merging #1811 (4e4e51c) into v2.4.2-dev (0b250e4) will increase coverage by 0.01%.
Report is 6 commits behind head on v2.4.2-dev.
The diff coverage is 90.00%.

@@              Coverage Diff               @@
##           v2.4.2-dev    #1811      +/-   ##
==============================================
+ Coverage       74.11%   74.13%   +0.01%
==============================================
  Files             397      397
  Lines           26935    27086     +151
==============================================
+ Hits            19963    20079     +116
- Misses           6972     7007      +35

Files Changed
Coverage Δ

apps/backend/agent/artifact_builder/base.py
93.77% <90.00%> (-0.19%)
:arrow_down:

... and 20 files with indirect coverage changes


[DC-2058] removing slack infrastructure

remove slack utility
remove slack logging handler
remove slack logging handler initialization

this function still exists.  It's being used 5 times, so I'm assuming this is still relevant?

Two question.

There only seems to be a few comments left behind (like here).  Do they still provide help?
Can you comment on the use CircleCI's config which seems to be linked to slack?  Am I reading that correctly?

this function still exists. It's being used 5 times, so I'm assuming this is still relevant?

right.  This function is related to app logging, and not to sending messages to slack.  Things may be better now, but there was a time when the logs were not grouped logically in stack driver and we had to set up a logging mechanism to do that.  This function is just handling potential error conditions to make sure it returns a generic view.  If we end up eventually moving the entire thing out of a web app and into cloud functions, these probably won't be necessary.
I do need to update the comment here.

Two question.
* ~There only seems to be a few comments left behind (like [here](https://github.com/all-of-us/curation/blob/e80447e56d269dc2c9c8bc79e78218d4b0dc504c/data_steward/gcs_utils.py#L44)).  Do they still provide help?~  Looks like my comment above answers this.

I do want to update that comment.  By logging the message correctly, GCP's metrics monitoring and alerts will let us know this has happened.

* Can you comment on the use of CircleCI's config which seems to be linked to slack?  I'm unfamiliar with reading that config.

CircleCi's config is using the slack orb, provided by circleci.  All we have to do is provide a webhook to send messages from circleci.  We have provided that info via an environment variable in the circleci settings.  There is no GAE application code for this and it is not dependent on a token value to run.  All we use it for is to send a notification if a failure has occurred on the master and/or develop branches.

One last question.  Do the requirements need to be updated to not include slack?

One last question. Do the requirements.txt need to be updated to not include slack?

Yes, I think you're right.

One last question. Do the requirements.txt need to be updated to not include slack?

Yes, I think you're right.

Looks good. I can't see the requirement change affecting anything.

One last question. Do the requirements.txt need to be updated to not include slack?

Yes, I think you're right.

Looks good. I can't see the requirement change affecting anything.

I have worked on the dependencies a little more.  The slack client installed some dependencies that are unused by other packages.  I've tried to clean those out too.  Please take a look when you have time.


Check more carefully for null in WorkflowRun.execution

Observed a harmless but noisy exception in a log file, probably after a hard kill of a build using 1.14.1 in 1.625.x.
…	WARNING	h.ExpressionFactory2$JexlExpression#evaluate: Caught exception evaluating: c.displayExecutors in /job/…/. Reason: java.lang.reflect.InvocationTargetExceptionjava.lang.reflect.InvocationTargetException
	at …
	at lib.JenkinsTagLib$executors$0.call(Unknown Source)
	at jenkins.widgets.ExecutorsWidget.index.run(index.groovy:5)
	at …
Caused by: java.lang.NullPointerException
	at org.jenkinsci.plugins.workflow.job.WorkflowRun$2.blocksRestart(WorkflowRun.java:242)
	at org.jenkinsci.plugins.workflow.job.WorkflowRun$2.displayCell(WorkflowRun.java:245)
	at hudson.model.Executor.isDisplayCell(Executor.java:636)
	at hudson.model.Computer.getDisplayExecutors(Computer.java:937)
	... 189 more

@reviewbybees

:bee:

This pull request originates from a CloudBees employee. At CloudBees, we require that all pull requests be reviewed by other CloudBees employees before we seek to have the change accepted. If you want to learn more about our process please see this explanation.


To initialize with HYPERLINK function is not working.

Describe the bug

I want to initialize a Luckysheet with some values of HYPERLINK, and I got "#NAME?" on the cell that has a HYPERLINK.
To Reproduce

The first step:
 celldata: [{
      "r": 0,
      "c": 0,
      "v": {
        ct: {fa: "General", t: "g"},
        m:"abc",
        v:"abc",
        f: '=HYPERLINK("https://www.google.com/", "abc")'
      }
    }]

calcChain: [{
      "r": 0, //行数
      "c": 0, //列数
      "index": 1, //工作表id
      "func": [true, "", '=HYPERLINK("https://www.google.com/", "abc")'], //公式信息，包含公式计算结果和公式字符串
      "color": "w", //"w"：采用深度优先算法 "b":普通计算0
      "parent": null,
      "chidren": {},
      "times": 0
    }]

What is expected?

I expect it show me a right value.
I expect the cells show me a "abc" on it, and redirect the current page to "google.com" after click it
Screenshots or demo

Environment

OS:  Mac
Browser Version:  Chrome Version 97.0.4692.99 (Official Build) (x86_64)
Luckysheet Version:  @2.1.13

Additional context

Hi, any updates with this issue?
Have same problem. Thanks.


Standalone Picker with a Custom Element

Using version 2 and I want to bind the picker onto my custom button, but the $("#standalone").emojioneArea({standalone: true}); cracked my element and replaced it to its own style.

You can duplicate styles of your button to emojionearea button in custom css,
i think it would be a faster way to handle this

@mervick OK, thanks, I'll try this.


Color Grey Consensus Line

This PR was done pretty quickly based on some conversation about reaching a line consensus. In this branch, a line will have reached consensus if the consensus score is three or above. When that happens, the onClick for the line disappears and the line appears grey. I believe this is the last item needed for issue #64.
Closes #64

The latest updates have addressed my comments regarding putting the consensus score into the config. Nice! 👍


Please add CONFIG_IP_MULTIPLE_TABLES option

This option is required for "ip rule" to work, which is needed for some advanced networking setups.

The next release will contain this option 😊


No --stdin-from-command option for backup command

Output of restic version
restic 0.16.2 compiled with go1.21.3 on linux/amd64
What backend/service did you use to store the repository?
S3
Problem description / Steps to reproduce
It seems that #4410 got merged just before 0.16.2 release. However the --stdin-from-command does not seems to be working/available (while recommended in the latest documentation).
$ restic backup --help

The "backup" command creates a new snapshot and saves the files and directories
...
      --read-concurrency n                     read n files concurrently (default: $RESTIC_READ_CONCURRENCY or 2)
      --stdin                                  read backup from stdin
      --stdin-filename filename                filename to use when reading from stdin (default "stdin")
      --tag tags                               add tags for the new snapshot in the format `tag[,tag,...]` (can be specified multiple times) (default [])
...

$ restic backup ... --stdin-from-command mysqldump ...
unknown flag: --stdin-from-command

Expected behavior
Working as expected so we could replace mysqldump ... | restic backup --stding ... with the improved version.
Actual behavior
$ restic backup ... --stdin-from-command mysqldump ...
unknown flag: --stdin-from-command

Do you have any idea what may have caused this?
None
Did restic help you today? Did it make you happy in any way?
Yup, looks great, easy to use, fast, thx :heart:

The 0.16.2 release was a patch release for version 0.16, so it didn't contain this new feature.
The next 0.17 release will contain the feature, as it is currently on the master branch.
If you grab the latest build of restic from beta.restic.net you will find the option in there :)

I am running 0.16.5 and apparently it does not have the --stdin-from-command but the documentation make reference to this feature. It is a bit confusing also I could not find version 0.17 in the beta link that you mentioned above.

@meldarionqeusse The documentation you are reading is for the latest development version of restic, which does have this feature. This latest development version is what will become restic version 0.17.0 when it's released soon.
Restic 0.16.5 indeed does not have the feature, and this matches the documentation for the stable version of restic which is 0.16.5. So there's really nothing wrong with the documentation, you were just looking at the docs for a non-released version.
You can get the latest development version of restic from https://beta.restic.net/latest/ , this one does contain the feature you are looking for.


Renew & reduce jmill payout

Rationale in proposal. Reduce from $4,000 -> $1,200 per FC.

Hey @jmilldotdev , thanks for the proposal! Could you please add to the proposal a better breakdown of your new commitment  and what that means going forward?


GPU artifacts with blend shapes on iPhone (GLES3)

Godot version
3.4.2 stable  (45eaa2daf)
System information
iPhone12 mini (15.2), GLES3
Issue description
There is no problem with the tool
There is no problem when applying one blend shape mesh.
Applying multiple blendshape meshes shows the flicker and GPU artifacts

Could it be a buffer initialization problem? When the following code was inserted, the problem was not reproduced.
void RasterizerStorageGLES3::mesh_render_blend_shapes(Surface *s, const float *p_weights) {
    //reset buffer data
    uint32_t xf_feedback_size = GLOBAL_DEF_RST("rendering/limits/buffers/blend_shape_max_buffer_size_kb", 4096);

    for (int i = 0; i < 2; i++) {
        glBindBuffer(GL_ARRAY_BUFFER, resources.transform_feedback_buffers[i]);
        glBufferData(GL_ARRAY_BUFFER, xf_feedback_size * 1024, nullptr, GL_STREAM_DRAW);
    }

    glBindVertexArray(s->array_id);

If the buffer initialization problem is correct, I would expect a bit faster code.
It seems similar to the following issue #39112
Steps to reproduce

Export to iOS and run

Minimal reproduction project
minimal.zip

CC @godotengine/rendering


Home page for Mobile Version

Description
For the first milestone in the process of creating your portfolio website, you will:
set up a new repository and prepare it for development using best practices (e.g. linters).
build the first 2 sections of the mobile website using the template you chose in the previous step.
IMPORTANT NOTE: Read all requirements before you start building your project.
General requirements
Make sure that there are no linter errors:
Linter should be set up correctly for this repository.
The linter result should be green.
There should be no custom changes to the linter config.
Make sure that you used correctly GitHub Flow:
README file should be descriptive.
Commit messages should be meaningful.
Pull Request should have a descriptive title explaining what changes are inside.
Pull Request should have a short summary describing introduced changes in more detail.
Make sure that you documented your work in a professional way:
The branch name should describe a feature or action (e.g. 'created_sidebar' or 'added_comments_section').
Pull Request is made from the 'feature branch' into the main branch.

@ichala

you can see here how it looks and also it looks good in responsive. If it does not look good then tell me I will fix it. Kindly tell me please don't mind.

@ichala

you can see here how it looks and also it looks good in responsive. If it does not look good then tell me I will fix it. Kindly tell me please don't mind.

Hello , well it is awesome , but he requirements says that you need to use flexbox to align the items


Lottie files widget

Is your feature request related to a problem? Please describe.
Yes, there is no easy (and standard) way to include animations into egui applications (also for game development)
Describe the solution you'd like
Add a module to load and display "Lottie" files
https://lottiefiles.com/what-is-lottie
https://github.com/LottieFiles/awesome-lottie
https://codingwithmitch.com/blog/understanding-the-internals-of-lottie-rendering-the-animation-file/
Describe alternatives you've considered
No, any alternative won't be the industry' standard way of doing it
Additional context
There is a lottie player for every 'major' multiplatform development tool (web, ios, android, flutter, xamarin, ...), and the libraries are available in different languages except rust (saddly)
I don't have enough Rust knowledge to do it by myself, this is the 'simplest' implementation I have found, and it is MIT licensed:
https://github.com/Samsung/rlottie

This is outside the scope of egui. If someone writes a library to load lottie files in rust, then it should be possible to paint those files with epaint.


i18n(zh-cn): Update from-wordpress.mdx

Description (required)
Update from-wordpress.mdx
Related issues & labels (optional)

#9721
Suggested label: i18n

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

zh-cn
guides/migrate-to-astro/from-wordpress.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Cached state in render?

Can you explain more about why Cached State in render is an antipattern? The example doesn't seem to show what's being cached and what problem arises from a variable assignment in render.

+1 on this! Does React do some optimization of components' render functions to do partial runs in some cases? Or is this just a general pattern for abstracting logic out of the render function for the sake of simplicity/maintenance?

There was a debate on twitter that had me add this. I'm wishing now that I had linked it as a reference.
At the end of the day, this is just a preference. We had some pretty gnarled render functions and it was easy to draw the line at "if you're formatting stuff, use a getter function". It keeps diffs easy to read.
This also gets a lot nicer when used with actual getters and ES6 React.Component:
class MyComponent extends React.Component {
  get greeting () {
    return `HI ${this.props.name.toUpperCase()}!`;
  }
  render () {
    return <h1>{this.greeting}</h1>;
  }
}

:+1: Might be worth explaining that for future reference. :grinning:

Thanks for the explanation :+1:

Thanks! Agreed, that one could use a little attention. I'll add some meat.
Moving forward, how do you both feel about ES2015-style examples over instead of ES5?

I'm in favor.

Hey folks, made an ES6 PR and added a note at the bottom of this section about how it's mostly stylistic for the purpose of more readable diffs. Would love any additional feedback there.
#23
Thanks for helping us make this better :)


Export data and annotations

[ ] Create export annotations page. Export per subject or select all subjects.

[ ] Use LS export functionality to export annotation as JSON

[ ]  If annotating multiple IMU files is not supported, create method that creates annotation for all IMU files that are one subject x, with the annotations of the annotated IMU file

We have not yet decided how we want to export the annotations and data. This task is important for the proof of concept, but should be done after the rest is finished


Cache enumeration should not return expired/removed items

coverage: 99.241% (+0.2%) from 99.044%
when pulling ced87bb77638342b791c93341fba9dc1d08d19fc on users/alexpeck/filterenum
into eab610894e93a951605ff2e4a8dc1fa2e8da93e6 on main.


Detecting Winston with npm 3

Since npm 3 installs, if possible, all modules to the top-level node_modules directory, the current method of automatically requiring Winston doesn't work very well. I've just run into a problem where one dependency of my dependency of my dependency... requires Winston, and I'm getting an error that the installed Winston version is unsupported by this module, although I didn't really install/enable Winston and have no intention of using it.

I don’t know much about what npm 3’s peer dependency changes mean yet, so I’m going to have to investigate this a bit to figure out the solution. I suspect the Codependency module isn’t compatible with npm3, but it also may not be necessary. The trouble is: how to make it work correctly with npm3 without breaking it for npm2 users, who still constitute the majority? hm

I don’t know much about what npm 3’s peer dependency changes mean yet, so I’m going to have to investigate this a bit to figure out the solution.

Suppose you have a module A, which depends on module B, which depends on module C.
v2 would create the following directory structure:
node_modules
  - A
    - node_modules
      - B
        - node_modules
          - C

v3 creates this:
node_modules
  - A
  - B
  - C

... which means that any other module can require B and C with npm 3.

The trouble is: how to make it work correctly with npm3 without breaking it for npm2 users, who still constitute the majority?

I think the best way would be to disable automatic registration with Winston, and let users call .provisionWinston() if they want to use it, but obviously, that's not backward compatible.
Another solution might be checking package.json to see if Winston is present in dependencies, and automatically registering if yes.

On further investigation I don’t see any reason npm3’s changes should prevent the current approach from working. This looks like a bug in Codependency -- and I’m guessing it could affect npm2 as well under the right circumstances -- because it’s not honoring the ‘optional’ setting when the module exists but is not in the target version range. There might be other settings I’m missing, but it seems the simplest solution is just to wildcard the optionalPeerDependency.
I could be wrong about that being the core issue, but that’s what it’s looking like to me. I’m not going to be able to set up an npm3 test immediately, but if you want to be the one to do the experiment, all it means is changing ~1.0.0 to * in package.json, and confirming whether the error still occurs, and if so, whether it’s the same one:
"optionalPeerDependencies": {
  "winston": "~1.0.0"
}

If that doesn’t address it, rolling a small replacement for Codependency that does the package.json check as you described in the last paragraph is probably the best solution that shouldn’t cause breaking changes.

because it’s not honoring the ‘optional’ setting when the module exists but is not in the target version range

I suppose that depends on the definition of "optional". It's possible that the current behavior is intentional because they expect that if the module is there, user simply accidentally installed the wrong version.

if you want to be the one to do the experiment, all it means is changing ~1.0.0 to * in package.json, and confirming whether the error still occurs

I do think this would fix it in some cases, but not in my case... In my case I have Winston v0.9, so I still don't meet the 1.x.x requirement.

It doesn’t really require 1, so that’s actually a mistake in itself. When I set the version I was thinking ~ meant ‘preferred’ rather than ‘1.x.x’ that I need to change regardless.

In that case, setting it to x.x.x might work. I'll test it later today.

Indeed, x.x.x solves this issue.

Updated in ver 1.0.11.

Thanks!


Remove mutable default from keyword arguments of function definition

Before submitting a pull request make sure you have:

[ ] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[ ] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[x] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information

Do not use mutable default arguments in Python, unless you have a REALLY good reason to do so.
Why?
Instead, default to None and assign the mutable value inside the function.

I can't bother to copy-paste the whole thing, so above is the tl;dr; part.
If you wish to discuss this further, there's an issue #1021 for it. Please keep this strictly about the change.
TODO

[x] find and change all dictionarys
[x] find and change all lists
[x] find and change all sets (there's probably none, since it's much finicky to create an empty set)
[x] do all the above for non-empty ones

@fstirlitz could u explain the reasoning behind the 👎

I don’t see the point. The point of the rule proscribing mutable default arguments is to avoid actually mutating them, and as far as I know, we already don’t. If there had been an instance where a default argument is mutated, this change would have just made it mutate a temporary instad, sweeping the bug under the rug. This patch fails to protect against a danger that hasn’t even been shown to exist.
Also, this will slightly degrade performance, as now substituting an empty dict for a non-passed argument is performed in (interpreted) user code logic, as opposed to doing it in the (native-code) interpreter logic, and the empty dict is instantiated per each call, instead of once at definition time.
If anything, it would make more sense to replace ={} with =EmptyMap() (and =[] with =()), where
import collections.abc

class EmptyMap(collections.abc.Mapping):
	def __new__(cls):
		try:
			return cls.__instance
		except AttributeError:
			cls.__instance = object.__new__(cls)
			return cls.__instance
	__slots__ = ()
	__empty_set = frozenset(())
	def keys(self):
		return self.__empty_set
	def values(self):
		return self.__empty_set
	def items(self):
		return self.__empty_set
	def get(self, key, default=None):
		return default
	def __getitem__(self, key):
		raise KeyError(key)
	def __eq__(self, other):
		return True
	def __contains__(self):
		return False
	def __len__(self):
		return 0
	def __bool__(self):
		return False
	def __iter__(self):
		return
		yield

because that may actually protect against inadvertent mutations, as those would then throw TypeErrors and/or AttributeErrors. But I’m not sure even that is worth it.

I've already update the description with explanation. Like I said I'll.
I don't know where the intrusive  todo went, but it was there for a reason.

I don’t see the point. The point of the rule proscribing mutable default arguments is to avoid actually mutating them, and as far as I know, we already don’t. If there had been an instance where a default argument is mutated, this change would have just made it mutate a temporary instad, sweeping the bug under the rug. This patch fails to protect against a danger that hasn’t even been shown to exist.

There have been issues with this in the past #727
I also don't know any more instances of the issue occurring. However, the problem is that once the argument passes through a few function calls, it is difficult to know if the dict is being mutated anywhere.

Also, this will slightly degrade performance, as now substituting an empty dict for a non-passed argument is performed in (interpreted) user code logic, as opposed to doing it in the (native-code) interpreter logic, and the empty dict is instantiated per each call, instead of once at definition time.

I also don't agree with this. The performance impact of this will be miniscule in comparison to the normal operation times of yt-dlp

If anything, it would make more sense to replace ={} with =EmptyMap() (and =[] with =()), where

This does make sense. Actually, I was just checking if there is a FrozenDict similar to the one for set. But it appears not. I'm not sure building our own version of it is worth it

FrozenDict is rejected PEP 416

Could you, @fstirlitz, move your comment to issue, it's not related to code.
I'm open to discuss it just not here.

Deemed not useful.


fix: contract validity check

What this PR changes/adds
Fixes the contract validity failure.
Why it does that
Contract negotiation fails when the contract negotiation validity doesn't match with contract definition validity.
Linked Issue(s)
Closes #2514
Checklist

[x] added appropriate tests?
[x] performed checkstyle check locally?
[x] added/updated copyright headers?
[x] documented public classes/methods?
[x] added/updated relevant documentation?
[x] assigned appropriate label? (exclude from changelog with label no-changelog)
[x] formatted title correctly? (take a look at the CONTRIBUTING and Etiquette for pull requests for details)

Codecov Report
Patch coverage: 75.00% and project coverage change: -0.01 :warning:

Comparison is base (8126bcd) 64.52% compared to head (7537825) 64.51%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2648      +/-   ##
==========================================
- Coverage   64.52%   64.51%   -0.01%
==========================================
  Files         891      891
  Lines       18276    18277       +1
  Branches     1087     1087
==========================================
  Hits        11792    11792
  Misses       6050     6050
- Partials      434      435       +1

Impacted Files
Coverage Δ

...ract/validation/ContractValidationServiceImpl.java
77.41% <75.00%> (-1.27%)
:arrow_down:

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

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

As I mentioned in the call, I don't think an offer should be considered valid if expiration is before the contract definition validity value. They must be identical. For example, a contract could specify an exact term with no exceptions.


ci: update supported containers

remove no longer maintained ones / add reasonable-to-add new and maintained ones, all as seen on https://ansible.jeffgeerling.com/, and don't forget to also update the cookie's respective documentation table

maybe also consider deleting EOL distro


Vehicle restrictions & speed limits: Highlight lane when hovering over icons

Sometimes, particularly if various persistent overlays are enabled in mod settings, it's difficult to see which lane a row of vehicle restriction icons belong to. Short rail segments (especially when using 1-lane tracks next to each other) are also sometimes difficult as icons might overlap with infoview icons of adjacent rails.
So, I was wondering if it wold be possible to highlight associated lane when mouse is over an icon, that way it's very clear which lane is being affected when the mouse clicks.
A similar thing could benefit speed restrictions when the individual lane mode is active.

I'd take a more agile approach if possible; push improvements out as they are completed, rather than trying to waterfall it in to big patch. Bu doing incremental updates, if any bugs creep in, there's less code changes to dig through to find them.
That being said, I can spend some time this week doing visual mockups of what the changes might look like; so far they've been described as words but it might be a good ideal to put them in to pixel as a sanity-check that the UI would be viable before making changes to code?

No problem :wink: I've had a plan to release 1.10.15 later this week(maybe even on Friday) after merging with Turn on red feature if I'll find time to check if everything works with that.
Great idea with mockups, would be nice to look how it could look like. Its always easier to make changes on image than in code.

Is the 'turn on red' feature optional? a) because some countries don't allow it (eg. UK), and b) if it causes problems users should be able to turn it off while it gets bugfixed.

Yup, I've started testing it yesterday and it's disabled by default IIRC :wink:

Let me know which mod settings screen (I assume "Maintenance") its on as the docs will need updating. I've added a bunch of stuff to the "Wiki" tab (still lots of stuff missing, broken links, etc) but expect to have bulk of docs finished in a week or two.

'Turn on red' feature toggle is currently located on 'Gameplay' tab under 'Vehicle behavior'. I think that 'Maintenance' could be better but the best would be on 'Policies & Restrictions' under 'At junctions' because its strictly related to this.
What do you think? I can add request to change location to my review of feature pull request :wink:
Generally wiki section looks amazing. As you said it still needs some work but besides that I think there are all information they need. In addition I can see you are experienced player and you know this game and mod better than me. Great work!

Policies & Restrictions seems best tab IMO. It's a traffic rule (policies & restrictions), rather than a traffic modifier (gameplay) or major feature (maintenance).

Ancient image from Traffic++ showing how lanes can be highlighted.
So far, I can see this sort of highlighting being useful for:

Parking restrictions
Vehicle restrictions
Lane arrows / Lane connector
Timed traffic lights
Speed limits

It could even be useful for junction restrictions and priority signs...
Although it could get annoying so possibly some setting in global config or mod settings to choose which tools it applies to?

Moar settings and options 🤣
I've had similar image in my mind when I saw topic of this issue. Could you post again link to source of Traffic++. I can't find it because you've added too many issues 😆

When using with timed traffic lights, or when using with 'all segments between two junctions' key modifiers on other tools, it would need ability to highlight one or more lanes along multiple segments.
T++ source: https://github.com/joaofarias/csl-traffic

Closing this as it's basically complete but via several issues:

Lane connectors #635
Speed limits #709
Parking restrictions #708
Vehicle Restrictions #721

The traffic lights lane highlighting is tracked by at least one separate issue already so no need to keep this #33 open.


How to show layer inside a shape other than a rectangle?

Thanks for making these useful libraries, I've been using p5.layers in my p5js project with success.
Do you know if it is possible to show a layer inside a shape other than a rectangle? e.g. a triangle would be helpful for my use case.

I'm glad that these have been useful.
A layer can be partially transparent (because it is really just a p5.Graphics, which, like a p5.Image, can have transparent pixels). So one to show a non-rectangular layer is create a rectangular layer;  use clear() to erase all its pixels to transparent; and then draw on a non-rectangular part of it.
I wrote this example to demonstrate this. (It also uses the p5.pattern and p5.rotateAbout libraries.)
Another is to set a clip mask, either on the layer before you draw into it, or on the canvas before the layer is copied onto it. There isn't a way to do this using just the p5.js functions, but you can use the drawingContext variable to retrieve the JavaScript 2D rendering context, and then use the clip method to create a clipping region, that is applied to all future draw calls.
I'll look at putting together an example of this when I get a moment.

Thanks for the above, that is all very helpful.
I think I will have to use a clip mask, as for my current use case I actually draw a pattern that takes up the whole canvas, but I want the inside of the triangle to expose this pattern as it move across it. So almost the inverse of your example. I will take a further look at the clip method, thanks!


VaultBuilder.tsx renamed to VaultBuilder in order for module to be co…

Renamed VaultBuilder.tsx to VaultBuilder.ts in plugins/vault-backend/src/service for the vault-backend to be correctly loaded.
Fixes #13958

Thank you for contributing during Hacktoberfest 🍂! You can claim the Backstage Hacktoberfest Holopin at https://bck.st/hacktoberfest-holopin 🙌🏻


Implement uv build

Summary
This PR exposes uv's PEP 517 implementation via a uv build frontend, such that you can use uv build to build source and binary distributions (i.e., wheels and sdists) from a given directory.
There are some TODOs that I'll tackle in separate PRs:

Support building a wheel from a source distribution (rather than from source).
Stream the build output.

Closes https://github.com/astral-sh/uv/issues/1510
Closes https://github.com/astral-sh/uv/issues/1663.

Needs tests before it's ready for review, but the behavior is there.

I will do a pass on the docs once the interface gets the green light.

I plan to show build output in a later PR.

Should uv build build the entire workspace or only the current package?

I would imagine building the entire workspace by default and --package to select a specific one?

I’d prefer to tackle any workspace integration in a separate PR. How would that intersect with the ability to pass a single source dist file? Or the ability to pass a path to a directory?

Another todo is to add documentation to

The publishing guide
The project concept

How would that intersect with the ability to pass a single source dist file? Or the ability to pass a path to a directory?

I think if we're give a file target, we can just build that. If we're given a directory, we should treat that as the working directory for workspace / project discovery?

I will add --outdir separately.

Nevermind, I added --out-dir support here. I will do workspaces in another PR.

Ok, I added docs in https://github.com/astral-sh/uv/pull/6991, and workspace support (just --package for now) in #6990, so in theory the whole stack is ready to merge and ship once approved.

Again PermissionError: [Errno 13] Permission denied: 'E:\/uv-tmp\/[TMP]/__init__.py'.


Maintainers needed?

Looks like the development has slowed down, any help needed to push the project forward?

Did the project manager give up the project?

I don't know, I haven't been in touch with Timo, but I haven't given up yet.


[BUG] Name munging fails with leading underscores or trailing non alphabetic characters

:information_source: Info
0.1.1 or whatever is current.
:speech_balloon: Description
variable names or other string generation removes spaces and underscores.  That code fails if there is a

leading underscore Eg: _base
trailing dash and special character Eg: -↑

I had to remove the leading underscores and the trailing underscores and special characters.
:scroll: tokens file you tried to import
These tokens fail because of the arrow characters.  Generated by zengarden
        "0-deg-↑": {
          "value": "linear-gradient(0deg, #475569 0%, #94a3b8 100%)",
          "type": "color"
        },
        "45-deg-↗": {
          "value": "linear-gradient(45deg, #475569 0%, #94a3b8 100%)",
          "type": "color"
        },
        "90-deg-→": {
          "value": "linear-gradient(90deg, #475569 0%, #94a3b8 100%)",
          "type": "color"
        },
        "180-deg-↓": {
          "value": "linear-gradient(180deg, #475569 0%, #94a3b8 100%)",
          "type": "color"
        },
        "225-deg-↙": {
          "value": "linear-gradient(225deg, #475569 0%, #94a3b8 100%)",
          "type": "color"
        },
        "270-deg-←": {
          "value": "linear-gradient(270deg, #475569 0%, #94a3b8 100%)",
          "type": "color"
        }

leading underscores generated by zengarden
  "radii": {
    "50": {
      "value": "{radii.base} * .5",
      "type": "borderRadius"
    },
    "75": {
      "value": "{radii.base} * .75",
      "type": "borderRadius"
    },
    "100": {
      "value": "{radii.base} * 1",
      "type": "borderRadius"
    },
    "150": {
      "value": "{radii.base} * 1.5",
      "type": "borderRadius"
    },
    "200": {
      "value": "{radii.base} * 2",
      "type": "borderRadius"
    },
    "250": {
      "value": "{radii.base} * 2.50",
      "type": "borderRadius"
    },
    "300": {
      "value": "{radii.base} * 3",
      "type": "borderRadius"
    },
    "400": {
      "value": "{radii.base} * 4",
      "type": "borderRadius"
    },
    "500": {
      "value": "{radii.base} * 5",
      "type": "borderRadius"
    },
    "600": {
      "value": "{radii.base} * 6",
      "type": "borderRadius"
    },
    "800": {
      "value": "{radii.base} * 8",
      "type": "borderRadius"
    },
    "none": {
      "value": "0",
      "type": "borderRadius"
    },
    "round": {
      "value": "9999",
      "type": "borderRadius"
    },
    "_base": {
      "value": "8",
      "type": "borderRadius"
    }
  },

The README in example2 in this PR https://github.com/mark-nicepants/figma2flutter/pull/4 describes this

Could you take a look if my PR #7 fixes this issue? I removed the extension methods for camel and pascal cased that were custom made and added recase package.

I'm not sure how to merge the changes in this open PR into my branch in my fork :-(

Your change fixes the leading underscore issue 👍
There is still the issue that for the zengarden generated labels they include symbol characters that are illegal as variable names in dart.   Not a big deal I don't think.

Fixed by PR https://github.com/mark-nicepants/figma2flutter/pull/4


VisuAlign freezes on certain slides

On a series where all sections are adjusted, Visualign 0.8 freezes on certain  delineation. The background image is updating but not the atlas which stays on the previous image. This behavior is seen both when running with images locally and with images on the server.
Series found here: Y:\NESYS_Active_projects\2019_ AD-McGillAPP rats-Puchades\20191015_CHAT\TG5187\QNII\QNII_TG5187_v4
Json file: TG5187_251126_MAP2

Fixed on Nov 12 already, in VisuAlign-v0_8-WHS_Rat_v3_fix.zip (and VisuAlign-v0_8-WHS_Rat_v3_fix.dmg for Mac).

Fixed on Nov 12 already, in VisuAlign-v0_8-WHS_Rat_v3_fix.zip (and VisuAlign-v0_8-WHS_Rat_v3_fix.dmg for Mac).


Update configure_init_script.pp

By adding a scoped variable import, we are able to use the variables mentioned in the ERB file.  This will generate the desired file and contents.

Thanks @slantedvision for this PR! The problem with your change is that almost every component (server, collector, etc.) requires a different set of attributes inside the init.d scripts. This explains the use of the 'params' hash together with EPP templates (which breaks 3.8 support unfortunately). The params which you have added in your PR are very specific to the Dynatrace Collector and should not be in the parameter list of configure_init_script.

As I understand it, the scope of the template invocation includes only those variables which exist in configure_init_script. What I eventually want to achieve is to broaden the scope so that variables known to collector can be used inside the template. What's your take on this? Otherwise I'll have to find some dirty solution (and I fear this is why EPP templates have been invented sigh).

The ERB should have the scope changed to actually dive into the params key to capture the values.  I'll have one more commit but the jist will be to replace variables in the erb with the params lookup.
DT_OPTARGS="-listen <%= @params["agent_port"] %> -server <%= @params["server_hostname"] %>:<%= @params["server_port"] %><% if @params["jvm_xms"] %> -Xms<%= @params["jvm_xms"] %><% end %><% if @params["jvm_xmx"] %> -Xmx<%= @params["jvm_xmx"] %><% end %><% if @params["jvm_perm_size"] %> -XX:PermSize=<%= @params["jvm_perm_size"] %><% end %><% if @params["jvm_max_perm_size"] %> -XX:MaxPermSize=<%= @params["jvm_max_perm_size"] %><% end %>"

At some point I'll figure out how to update my fork with that and take out the edits I've put in place so far.

Hmm... why didn't I think of accessing the params hash from inside the templates? :+1:
If you don't commit something by EOD, I'll provide the solution and merge to the master tomorrow morning. I have a customer waiting for a fix. Thanks for the intellectual exchange of ideas! :-)

I believe I've been able to stagger my way to a push to the fork with the updates.  Sorry to plaster my commit message all over the place.  If your other customer is watching this fork, I'm so sorry you had to witness this :)

Great. Will expand the commit to the entire module and make sure it's tested before I merge to trunk. Thanks @slantedvision!


change react sample template to support web grids

@HUSSAR-mtrela , please review again so we can merge this. Thank you!

@HUSSAR-mtrela @ChronosSF I've run a pipeline from this branch and all imports in the generated grid samples look good: https://infragistics.visualstudio.com/NetAdvantage/_build/results?buildId=111118&view=artifacts&pathAsName=false&type=publishedArtifacts
Should we also bump up the package versions to the beta 18.2.2-beta.0 since that's the first release package that has the grid or should we wait for the official release?