apps wc: stuck ingesting ingress-nginx logs

What this PR does / why we need it:
https://github.com/elastisys/compliantkubernetes-apps/issues/1317
Which issue this PR fixes (use the format fixes #<issue number>(, fixes #<issue_number>, ...) to automatically close the issue when PR gets merged): fixes #1317
Public facing documentation PR (if applicable)

Special notes for reviewer:
This is a solution that at least seems to work. Is it perfect? Not sure. Removing the limits of the pod may not be needed to stop the error from happening in the first place but it seems to be needed to get rid of it in practice when it have been going on for a long time.
Add a screenshot or an example to illustrate the proposed solution:

Checklist:

[x] Added relevant notes to WIP-CHANGELOG.md
[x] Proper commit message prefix on all commits
[ ] Updated the public facing documentation
Is this changeset backwards compatible for existing clusters? Applying:

[x] is completely transparent, will not impact the workload in any way.
[ ] requires running a migration script.
[ ] will create noticeable cluster degradation.
E.g. logs or metrics are not being collected or Kubernetes API server
will not be responding while upgrading.
[ ] requires draining and/or replacing nodes.
[ ] will change any APIs.
E.g. removes or changes any CK8S config options or Kubernetes APIs.
[ ] will break the cluster.
I.e. full cluster migration is required.

Chart checklist (pick exactly one):

[x] I upgraded no Chart.
[ ] I upgraded a Chart and determined that no migration steps are needed.
[ ] I upgraded a Chart and added migration steps.

Pipeline config (if applicable)
If you change some config options (e.g. add/rename variable or change the default value) you may need to update the config used by the pipeline in pipeline/config.

I did a quick test and I get this error:
 Failed to pull image "ghcr.io/elastisys/fluentd:v3.4.0-ck8s5": rpc error: code = Unknown desc = failed to pull and unpack image "ghcr.io/elastisys/fluentd:v3.4.0-ck8s5": failed to resolve reference "ghcr.io/elastisys/fluentd:v3.4.0-ck8s5": failed to authorize: failed to fetch anonymous token: unexpected status: 401 Unauthorized
please test this changes so we do not create additional issues

I did a quick test and I get this error:  Failed to pull image "ghcr.io/elastisys/fluentd:v3.4.0-ck8s5": rpc error: code = Unknown desc = failed to pull and unpack image "ghcr.io/elastisys/fluentd:v3.4.0-ck8s5": failed to resolve reference "ghcr.io/elastisys/fluentd:v3.4.0-ck8s5": failed to authorize: failed to fetch anonymous token: unexpected status: 401 Unauthorized
please test this changes so we do not create additional issues

Just had to make the registry repo public. Should work now.

Just a general reminder, do commits than force push when addressing comments and do a squash in the end. Because I do not remember how it was originally anymore.

shouldn't we add this filter for fluentd-wc and sc configs?

Yes would be good

Just a general reminder, do commits than force push when addressing comments and do a squash in the end. Because I do not remember how it was originally anymore.

shouldn't we add this filter for fluentd-wc and sc configs?

Yes would be good

yeah, gets a bit much after what feels like 50 commits :+1:


Fixes

Working around pyusb "resource busy" bug
Addressing PEP8 violations

Just pushed some more updates.  I'm pretty sure it won't try to set the configuration unless absolutely necessary, so give it a shot and let me know if there are any issues.

Just pushed some more updates.  I'm pretty sure it won't try to set the configuration unless absolutely necessary, so give it a shot and let me know if there are any issues.

The changes look promising, but still don't produce the same results as with the changes I had:
[<DEVICE ID 0aad:00e2 on Bus 002 Address 074>]

Trying command:  *IDN?
Results:  ROHDE&SCHWARZ,NRP8S,<REDACTED>,<IP_ADDRESS>
Waiting 1s for next command... None

Trying command:  SYSTem:INFO?
{'command': 'SYSTem:INFO?', 'type': 'q'} failed with  unpack_from requires a buffer of at least 4 bytes

Trying command:  SENSe:POWer:AVG:APERture?
Results:  :0.160 dB
TestLimit pd:0.160 dB
Uptime:62
"
Waiting 1s for next command... None

Trying command:  SYSTem:LED:COLor #HA000A0
Results:
Waiting 1s for next command... None

Trying command:  ['*RST', 'INIT:CONT ON']
Results:
Waiting 1s for next command... None

Trying command:  FETCh?
Results:  2.000000E-02
Waiting 1s for next command... None

Hmm.  Can you post a traceback for that unpack_from error?

Yes, sorry about that.
Trying command:  SYSTem:INFO?
Traceback (most recent call last):
  File "/home/rwlodarc/Code/scratch-projects/powermeter/usbtmc_test.py", line 44, in <module>
    results = rsnrp.ask(cmd['command'])
  File "build/bdist.linux-x86_64/egg/usbtmc/usbtmc.py", line 572, in ask
  File "build/bdist.linux-x86_64/egg/usbtmc/usbtmc.py", line 555, in read
  File "build/bdist.linux-x86_64/egg/usbtmc/usbtmc.py", line 511, in read_raw
  File "build/bdist.linux-x86_64/egg/usbtmc/usbtmc.py", line 456, in unpack_dev_dep_resp_header
  File "build/bdist.linux-x86_64/egg/usbtmc/usbtmc.py", line 452, in unpack_bulk_in_header
struct.error: unpack_from requires a buffer of at least 4 bytes

Ahh, I think I might know what the problem is.  Trailing zeros could be getting left in the endpoint buffer.  Can you replace line 509 of usbtmc.py with
resp = self.bulk_in_ep.read(read_len+USBTMC_HEADER_SIZE+3, timeout = self.timeout)

and try again?

Perfect! That worked!

Would you mind bumping the version to 0.7 please?

Will do.  Just wanted to get this fixed first.

OK, just pushed that change.  Try it one more time and let me know how it works.  If it looks good, I will bump the version and push it to the main ivi repo.

Looks great! Thank you for getting this fixed!

No problem!  The code definitely needed some clean-up; I think it's a lot more robust now.  Anyway, the new version is now on pypi here: https://pypi.python.org/pypi/python-usbtmc/0.7 .


Microsoft Government Community Cloud (GCC)

Add information that Live Events is available for Microsoft Government Community Cloud (GCC).

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

ID: 2b679199-caa5-4cc5-27e5-60a2cf999f69
Version Independent ID: 6878c954-e248-94c2-7602-47437ec7a2dd
Content: Plan for live events in Microsoft Teams
Content Source: Teams/teams-live-events/plan-for-teams-live-events.md
Service: msteams
GitHub Login: @chuckedmonson
Microsoft Alias: chucked

Info added to "Who can create and schedule live events" section. Thank you.


Allow Rasters.jl rasters to be made from tiles

Would this be possible?  We could integrate TileProviders as a RasterDataSource, and return Raster{RGB, 2} or something like this, possibly using image stitching.

Should be doable? We can store all the tiles we need then stitch the as a raster.

Should be doable? We can store all the tiles we need then stitch them as a raster.


Get rid of MLJBase from [deps]

Everything that supposedly depends on MLJBase should actually only depend on MLJModelInterface

There is an obstacle here: some MultivariateStats models have UnivariateFinite priors, so this is not trivial.

@ablaom. Yeah. But MLJBase would still be needed as a test dependency

Also MLJBase.@load and MLJBase.== stubs may have to be moved to MLJModelInterface

I think MLJBase.==, MLJBase.info are already re-exported from MJLModelInterface.

Then there is now ThreshholdPredictor which uses UnivariateFinite type :-(

Then there is now ThreshholdPredictor which uses UnivariateFinite type :-(

Then there is now ThreshholdPredictor which uses UnivariateFinite type :-(

Yea. This issue would be resolved once https://github.com/alan-turing-institute/MLJBase.jl/issues/416 is addressed

Then there is now ThreshholdPredictor which uses UnivariateFinite type :-(

Yea. This issue would be resolved once https://github.com/alan-turing-institute/MLJBase.jl/issues/416 is addressed

And available_name.

And available_name.


added new term Food protein-induced enterocolitis syndrome. Addresses…

… #174

need lowercase food

redid this PR, closing this one


Allow dependency on dot notation field

This PR is very old and missing quite a bit around new functionality. This would seem to be missing the whole JS side of comparisons since, at least I don't think, the JS side can't do dynamic lookups like this so the JS side would just never update appropriately.
I would say just start with an updated version and work from there if you would still like to add this functionality.


Reducing false positive

Hey there,
I'm having an issue of having false positive during object detection using my own dataset. Is there any way where I can include background images for training as a method for hard negative mining? I've tried labeling some images as __background__ but it fails at some assertions, so that isn't the right way to get it done. Any suggestions? Thanks!

I would like to know as well, thx

I would also like to know this. This was posted a long time ago but any chance you guys have found a solution?

Hi, this is implemented in https://github.com/pytorch/vision/pull/1911 and has been merged into master. Note the comment https://github.com/pytorch/vision/pull/1911#issue-378737586 which describes the target format that the model expects.


Merge dev into main

Do NOT merge until issues with Gateway have been sorted.  Currently some Dockerfile issues only affecting dev, no need to spread it to test until resolved.

merged dev to main


Something goes wrong on the submission website.

The website "https://waymo.com/open/" does not function rightly, when I submit results.tar.gz of the Challenges. The page always shows that "Sorry, there was a problem submitting the form. Please try again.",  even when I submit the correct file submitted before to validation split.

It looks like this is for the motion challenge?  I tested uploading to the validation server this morning and it was working for me.  Could you try refreshing the page at waymo.com/open to refresh the login and then try re-submitting?  If it is still not working, please let me know and we will look further into it.

Oh relogin works for me, thx!


freeline在增量编译的过程如果被人为手动cancel掉之后, 就会出现这个问题

[INFO] preparing for tasks...
[-][connect_device_task] failed. in 14.2s
[-][gradle_aapt_task] finished. in 0.0s
[-][xxLib] finished. in 0.0s
[-][openCVLibrary310] finished. in 0.0s
[-][xx] finished. in 0.0s
[-][merge_dex_task] finished. in 0.0s
[-][gradle_sync_task] failed. in 0s
[-][clean_cache_task] failed. in 0s
[-][update_stat_task] failed. in 0s
[ERROR] --------------------------------------------------------
[ERROR] Freeline ERROR
[ERROR] --------------------------------------------------------
        Please make sure your application is properly running in your device.
        Check follow steps:
        1. Make sure the versions `python freeline.py -v`, freeline-gradle and freeline-runtime are the same;
        2. Make sure there is no network proxy.

        More about this can see: https://github.com/alibaba/freeline/issues/152
[ERROR] --------------------------------------------------------
[ERROR] Freeline server in app ${App} not found. Please make sure your application is properly running in your device.
[ERROR] --------------------------------------------------------
[DEBUG] Prepare tasks time: 0.2s
[DEBUG] Task engine running time: 14.2s
[DEBUG] Total time: 14.5s
[DEBUG] --------------------------------------------------------

这个问题很好解决的
1.如果在设备上安装了app，完全卸载。重新运行。
2.如果还是不好，clean一下project，rebuild一下。再重新运行。


Pusher ping/pong message

I read this documentation https://pusher.com/docs/channels/library_auth_reference/pusher-websockets-protocol/#ping-and-pong-messages  and in the section I see this text:

In protocol versions 5 and above, when using an old version of the WebSocket protocol, Pusher Channels will send pusher:ping event (see events) to the client). The client should respond with a pusher:pong event.

In PusherSwift class PROTOCOL is set to 7, but in PusherConnection method sendPing WebSocket PING package.
Can I get some help from you? Thanks

I am not certain I understand what issue you are reporting here - could you elaborate?
Is the issue that you expect the client not to send a ping event?  The doc you linked to shows that this is expected:

This means that Pusher Channels will respond to a WebSocket protocol ping message with a pong message, and also it will respond to a pusher:ping event with a pusher:pong event (both have empty data).

We found an issue on our server side (we use Soketi lib for Laravel PHP), that library not responding to a WebSocket protocol ping message. That library expects to send a ping message as {event: "ping", data: []} but this Pusher library doesn't support that ping format.


Bad results from Kmeans

Hi mnslarcher,
I implemented your code to my efficiendet code with BDD100K dataset. But I got the result:
[01/22 06:17:19] Starting the calculation of the optimal anchors ratios
[01/22 06:17:19] Extracting and preprocessing bounding boxes
[01/22 06:17:21] Discarding 0 bounding boxes with size lower or equal to 0
[01/22 06:17:21] K-Means (10 runs): 100%|███████████████| 10/10 [00:22<00:00,  2.24s/it]
	Runs avg. IoU: 85.10% ± 0.00% (mean ± std. dev. of 10 runs, 0 skipped)
	Avg. IoU between bboxes and their most similar anchors after norm. them to make their area equal (only ratios matter): 85.10%

[01/22 06:17:45] Default anchors ratios: [(0.7, 1.4), (1.0, 1.0), (1.4, 0.7)]
	Avg. IoU between bboxes and their most similar default anchors, no norm. (both ratios and sizes matter): 38.23%
	Num. bboxes without similar default anchors (IoU < 0.5):  637020/999085 (63.76%)
[01/22 06:17:48] K-Means anchors ratios: [(0.8, 1.3), (1.1, 0.9), (1.3, 0.8)]
	Avg. IoU between bboxes and their most similar K-Means anchors, no norm. (both ratios and sizes matter): 38.46%
	Num. bboxes without similar K-Means anchors (IoU < 0.5):  643636/999085 (64.42%)
[01/22 06:17:49] Default anchors have an IoU < 50% with bboxes in 0.66% less cases than the K-Means anchors, you should consider stick with them

38,46% is a bad result, right? Thank you!

Hi @datvuthanh !
Your main problem doesn't seem to be the ratios but the sizes. If you look at the results ignoring the size you get 85% but then when you also consider the size you get more or less 38% (both with the default and optimized ratios which are basically the same in this case).
My guess is that your objects are too small (usually this is the main problem) so you should consider adding a smaller size or accept that you will have problems with very small objects.
Note that this repo only optimizes ratios so sizes you have to test them manually (but it's pretty easy).
I'm not plaing with EfficientDet from a while but for example in the official repo you have to look at these HPs here:
  h.num_scales = 3
  h.anchor_scale = 4.0

Hi @mnslarcher,
Thank for your reply, I switched to use EfficientDet for my project and facing many challenges.

The first problem is my network is trained about 150 epochs and reg loss stuck at 0.69 (although I just train only one class) and they don't decrease anymore. So I think, maybe the main problem my network cant detect small objects. This is the reason why I used your repo and recalculated anchor aspects. Do you have any advices for me?

How I can add a smaller size (I am not very clear your reply), sorry about that. This means that I need to edited anchor_scale parameter is smaller than 4?

Thank you!

Hi @mnslarcher,
Thank for your reply, I switched to use EfficientDet for my project and facing many challenges.
1. The first problem is my network is trained about 150 epochs and reg loss stuck at 0.69 (although I just train only one class) and they don't decrease anymore. So I think, maybe the main problem my network cant detect small objects. This is the reason why I used your repo and recalculated anchor aspects. Do you have any advices for me?

2. How I can add a smaller size (I am not very clear your reply), sorry about that. This means that I need to edited anchor_scale parameter is smaller than 4?

3. I used kmeans code from yolov5 to recalculate my anchors and this is output (https://github.com/ultralytics/yolov5/blob/master/utils/autoanchor.py):

tensor([[[0.5579, 1.4929],
[0.8694, 2.4489],
[1.3794, 3.4020]],
[[0.9983, 2.6222],
[1.7004, 3.8757],
[2.7403, 5.7757]],
[[1.2987, 6.0161],
[2.5212, 5.3684],
[3.3681, 9.0867]]]

This is 9 anchor boxes, so how I can tranform these anchors to efficientdet format?
Thank you!

In this repo you can look at the tutorial.ipynb to understand how to generate the anchors sizes for EfficientDet and simulate what would be the effect of changing the hyper-parameters that I mentioned in my previous answer:
## change the following parameters according to your model:

# EfficientDetD{PHI}
PHI = 0  # for another efficientdet change only this, e.g. PHI = 3 for D3

input_sizes = [512, 640, 768, 896, 1024, 1280, 1280, 1536, 1536]
pyramid_levels = [5, 5, 5, 5, 5, 5, 5, 5, 6]
anchor_scale = [4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 5.0, 4.0]

scale = anchor_scale[PHI]
strides = 2 ** np.arange(3, pyramid_levels[PHI] + 3)
scales = np.array([2 ** 0, 2 ** (1.0 / 3.0), 2 ** (2.0 / 3.0)])

INPUT_SIZE = input_sizes[PHI]
ANCHORS_SIZES = (scale * scales * strides[:, np.newaxis]).flatten().tolist()
ANCHORS_SIZES

In your case you want to change this line:
scale = anchor_scale[PHI]
with, for example:
scale = 2.0
That is like changing the parameter
 h.anchor_scale = 2.0
of my previous reply (if you are using the TensorFlow EfficientDet).
This assume that your input_size is the default one (es. 512 if you are using EfficientDet0), otherwise change also that one.
Then you can also increase the number of scales:
This would be the parameter
  h.num_scales = 3
Of my previous reply.
To simulate this is the notebook change, for example:
scales = np.array([2 ** 0, 2 ** (1.0 / 3.0), 2 ** (2.0 / 3.0)])
To
scales = np.array([2 ** 0, 2 ** (1.0 / 4.0), 2 ** (2.0 / 4.0), 2 ** (3.0 / 4.0)])
That is equivalent to:
  h.num_scales = 4
Notice that scales are always like
2 ** 0, 2 ** (1.0 / num_scales), ..., 2 ** (num_scales - 1 / num_scales)
Then run:
from kmeans_anchors_ratios import get_optimal_anchors_ratios

anchors_ratios = get_optimal_anchors_ratios(
    instances,
    anchors_sizes=ANCHORS_SIZES,
    input_size=INPUT_SIZE,
    normalizes_bboxes=True,
    num_runs=3,
    num_anchors_ratios=3,
    max_iter=300,
    iou_threshold=0.5,
    min_size=0,
    decimals=1,
    default_anchors_ratios=[(0.7, 1.4), (1.0, 1.0), (1.4, 0.7)]
)

And see what happen, if the situation improve you can use the same parameters for training your model.

Hi @mnslarcher,
Thank for your awesome supporting!
But I have a question about when increasing num_scales to 4, the cost computation of network is more expensive?

Hi @mnslarcher,
Thank for your awesome supporting!
But I have a question about when increasing num_scales to 4, the cost computation of network is more expensive?

Yes it is, is like using 4 ratios instead of 3, there is a trade off between this and performance, you have to value if it's worthy or not.
As a first experiment I'd just try to lower the scale from 4 to 2 and see what happen, by the way in the tutorial you can also find out what are the bbox that you are missing so to better understand what is your problem (how small they are etc)

Hi @mnslarcher,
I edited my reply and you can see it again. Today, I have a experiment with default aspect ratios and anchor scales. ([(0.7, 1.4), (1.0, 1.0), (1.4, 0.7)]). I visualized my anchor boxes with ground truth labels and I see that my anchor boxes with default settings can be detect small objects.
So, I have a question? What should I do now? Keep training with default settings or replacing by your approach? Thank you!

In my experiment, I set up hyparameters (default settings):
anchors_scales: '[2 ** 0, 2 ** 1/3, 2 ** 2/3]'
anchors_ratios: '[(0.7, 1.4), (1.0, 1.0), (1.4, 0.7)]'

And I used Cli98 repos to visualize my anchor boxes. This is the output, IoU between AnchorBoxes and Ground Truth Labels (Iou Threshold = 0.5):

And Iou Threshold = 0.25:

The red boxes which my anchor boxes missed (The green boxes have IoU greater than IoU threshold). But I believe that my regression network can be fit that boxes. Do you agree that?
Please give some advices for me in this situation.
Thank you a lots!

Hi @datvuthanh, you already know that with that setting (the default setting) you will have 64.42% of anchors with less than 50% IoU with the GT and so you will risk to miss many objects or to make the life hard for your model.
I don't know how much the results improve if, for example, you set anchor_scale = 2.0 because you posted the result with IoU < 25% (that is not a fair comparison with the previously posted result were you used correctly 50% < IoU).
This repo optimize the ratios but in the case of you dateset the default or optimal ratios are basically the same (you can also leave them as they are). What you can try to change is the sizes but again to understand what to do you have to compare apples with apples (do the same experiment without changing the IoU threshold).
Another thing that can improve you results a little is to use 4 ratios instead of 3 but this increase the computation (changing the scale to 2.0 doesn't do it).
Then in the end you can always train one time your model in one way and one time in the other way and see the results so you will be able to understand better the full effect of changing that parameter

Hi @mnslarcher,
Thank you for your supporting very much!
Firstly, I trained with default settings about 50 epochs and after 20th epoch my regression loss cannot decrease (although I believe that if keeping training reg loss can decrease). I stopped training to transfer your approach.
Secondly, I changed scale 2.0 and based on autoanchor of yolov5 to find my aspect ratio and scale:
anchors_scales: '[2 ** 0, 2 ** 0.70, 2 ** 1.32]'
anchors_ratios: '[(0.62, 1.58), (1.0, 1.0), (1.58, 0.62)]'

And there are my results on IoU 0.5 (some anchor boxes can detect small objects):

I feel that everything is very clear at now, thank you again!

You are welcome @datvuthanh, I close the issue


[feature/improvement] Introduce CLI & Better file structure

This pull request contains big changes in the project and a new feature. Here is the list of changes:

The initial src directory doesn't contain anymore the parser. It includes all modules of the project (including the parser, but the CLI too)
All workflows have been reworked to be better and more performant, skipping non-necessary steps.
The CLI is available as a simple .jar file, but as a native file too for Windows, Mac, and Linux using github actions (triggered only when pushing on the master branch)

Globally that's all, but the format of the project changed in this pull request, that's the most important.
It's good to note that the CLI is only the base to make it works. More is coming later.

Why exactly did you remove the tests?

What do you mean? Tests still here, they just moved.

Your actions don't build properly. I suspect this is because the tests need a compiled skript-parser.jar file inside the build/libs folder in order to properly function; see line 21 of TestRegistration.


Migrate all icons to font-awesome

Currently, we're using various images as icons for different functionality. The icons tend to mix up sometimes with the background and aren't clearly visible. I'm thinking of porting all icons while maintaining their positions to use white fa icons with a black border, also on hovering over an icon, it should expand by say 5% or 10% and it should be slight gray filled in that case.

[x] I searched or browsed the repo’s other issues to ensure this is not a duplicate.
[x] This issue is for enhancement/bug fixing.
[ ] This issue is an addition to JSON database.
[x] I have gone through Contribution Guidelines.
[ ] Assign this issue to me.

I'll do this task

Hey, @darrylsepeda welcome onboard!
Go for it 👍

I have added few icons and make PR, please kindly check.
I tried to replace your play/pause button, but still don't know how because you replace the class using javascript.
I also curious about index.html line 18, there is require jquery, this shows error because require is not defined.. why do u import your jquery like that?

I'll try to help for other tasks tomorrow :)

Thanks, Changes look great!
About line 18 in which I required jquery since it was needed to run the desktop app https://github.com/anshumanv/ongaku-desktop which was using this repo as a submodule, that no longer persists so I'll remove it, thanks for bringing that to notice.
The icons lack animation and some refinement, could you please check http://openings.moe to get the picture of how to improve it?

Also, there are some extra files like .idea and some fa cache, please remove them as well.

Already remove .idea folder.. :)
I'll try to look at other things tomorrow

Sure thing, make sure you get your PR merged before others start sending theirs 😆

please kindly check for the animation

Animation looks cool as of now, why not make the size to 2x and add some thin black border?
4x takes a lot of screen space 😅

hahaha I make it 4x because I think the previous icon size same as that..
done, 2x with some thin black border

Thanks so much @darrylsepeda, I really appreciate the help. 😄


fix: [lw-11747] add line clamp styling for tockens and collectibles

Checklist

[x] JIRA -LW-11747
[ ] Proper tests implemented
[ ] Screenshots added.

Proposed solution
Explain how does this PR solves the problem stated in JIRA ticket.
You can also enumerate different alternatives considered while approaching this task.
Testing
Describe here, how the new implementation can be tested.
Provide link or briefly describe User Acceptance Criteria/Tests that need to be met
Screenshots
Attach screenshots here if implementation involves some UI changes

Allure Report
allure-report-publisher generated test report!

processReports: ❌ test report for c630fb4e

passed
failed
skipped
flaky
total
result

Total
31
1
4
0
36
❌


Implement support for server draining

Task/Issue URL: https://app.asana.com/0/1201462763415876/1207467139497225/f
Description
See attached task description
Steps to test this PR
https://app.asana.com/0/1201462763415876/1207492537012633/f

#4617  👈
develop

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @karlenDimla and the rest of your teammates on  Graphite


Run bullet under test

I'm gonna wait until https://github.com/alphagov/service-manual-publisher/pull/233 is merged before attempting this. Just to avoid ♻  churn..


Add http /readyz sidecar to kube-apiserver pod

Needed for GCP load balancers. They don't support https.

/assign @mfojtik

/retest

@abhinavdahiya have to test this first. Just wrote it down blindly.

https://github.com/openshift/library-go/pull/478 was merged.

rebased

/lgtm

@abhinavdahiya now this needs to be wired into the bootkube script in the installer.


Ease cutoff between poly and frd method for stability margins

#566 creates new warning messages in the test suite. While fixing it, I noticed that the poly method was basically not used at all, even when the results are accurate enough.
This PR retains at least one system which tests the poly method.

Coverage decreased (-0.02%) to 88.88% when pulling 52d8fc3210a26aad883a1b4c0658fa90cfeb7e5f on bnavigator:add-frd-margin-test into b41574f72c0b3cdbdef8508ed94307d7ad340f26 on python-control:master.


Add metrics to Match filter.

Let's increment counter metrics here for when we find a match vs not, for visibility
Originally posted by @iffyio in https://github.com/googleforgames/quilkin/pull/447#discussion_r759939668

Working on this right now. Needed a good entry to get me back into the Quilkin codebase.


Entities card

Is it possible to create /change a card thats allowing more than one entity?
For example to work together with auto-entities card.
In that way you can create a card filled with entities at a specific state.
This is how it looks when using a entity-filter card

This is how it should look like

Use vertical-stack and horizontal-stack cards, something like this:
type: vertical-stack
cards:
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-entity-card
        entity: light.hanglampen
      - type: custom:mushroom-entity-card
        entity: light.eettafel
      - type: custom:mushroom-entity-card
        entity: light.spotjes
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-entity-card
        entity: light.links
      - type: custom:mushroom-entity-card
        entity: light.rechts

Would a grid-card set to 3 columns work here? It's what I'm doing for my dashboard

Shure, even better I think.

Hi, thanks for the reply.
But maybe my question was not clear.
This block of code is working with the custom:mushroom-chips-card card.
But when you try this with the entity card it is not working.
type: custom:auto-entities card:   type: custom:mushroom-chips-card card_param: chips filter:   include:     - domain: binary_sensor       state: 'on'       attributes:         device_class: /window|door/       options:         type: entity         content_info: name   show_empty: true sort:   method: state   reverse: true

Could you format your code properly?

Could you format your code properly?

Done

Could you format your code properly?

Done

Oké. Now it's clear to me.
I don't know if it's possible right now.

Here's an example : display all sensors as mushroom-entity-card and display all lights as mushroom-entity-card in a grid layout :
type: custom:auto-entities
card:
  type: grid
  columns: 2
  square: false
card_param: cards
filter:
  include:
    - domain: light
      options:
        type: custom:mushroom-light-card
        # You can add all mushroom light card options here
    - domain: sensor
      options:
        type: custom:mushroom-entity-card
        # You can add all mushroom entity card options here

Thanks Paul, that's the solution!


Just top view?

Is it inferencing just the top view?

The results are pretty bad!

I’ve tried it too, the results are so much worse. The results shown in the readme are very very specific. It only works if you take one LiDAR frame from front view.
the results I got are the worst. Even segment anything 3d is much much better than this.

Are you running the algorithm on mobile mapping LiDAR data? This version is adapted to aerial LiDAR data that are mainly geospatial data and not indoor LiDAR.

Hello @aditdoshi333,
Can you provide more information about your data and send me a sample?
The second version of segment-lidar is under test, and I think the new features would be useful for this case.

Hello @Yarroudh,
Thanks for your great work!
I am looking forward to seeing your second version.
Here is a good mobile laser scanner data: https://npm3d.fr/paris-lille-3d

Hello,
We just added the possibility to define your own view as a PINHOLE camera.
This is included in the latest version 0.2.0.


[12.x] Enable listening to multiple Eloquent events

Description
This PR introduces a new Model::listen method, allowing developers to listen to multiple Eloquent events at once.
This enhancement improves the developer experience and aligns with the existing Event::listen behavior. Additionally, it introduces support for wildcard event listening for Eloquent models.
Currently, performing the same action for multiple events looks like this:
Categories::created(function () {
    Cache::forget('categories');
});

Categories::deleted(function () {
    Cache::forget('categories');
});

With This PR:
Categories::listen(['created', 'deleted'], function () {
    Cache::forget('categories');
});

// Listen to all Eloquent events for the model
Categories::listen(function () {
    // Do something
});

Targeting the master branch based on @taylorotwell's suggestion.

This looks like it'll clean up alot of my code base!

@chr15k One of the goals of this PR was to align with Event::listen, which supports wildcard event listening, so I included it here as well. While I personally don’t have a specific use case for wildcard listeners, here are a few possible scenarios:

To listen to all events except specific ones (e.g., exclude certain events).
Perform actions when a model is booting or booted.
Track model activity or usage through comprehensive event logging.

Happy to hear your thoughts!

@chr15k One of the goals of this PR was to align with Event::listen, which supports wildcard event listening, so I included it here as well. While I personally don’t have a specific use case for wildcard listeners, here are a few possible scenarios:

To listen to all events except specific ones (e.g., exclude certain events).
Perform actions when a model is booting or booted.
Track model activity or usage through comprehensive event logging.

Happy to hear your thoughts!

@istiak-tridip thanks, just to be more specific; my understanding is in order to achieve this with Event::listen you'd need to explicitly pass the wildcard, which shows intent:
  Event::listen('*', function () {
      Cache::forget('categories');
  });

I don't believe that you can pass a callback as first param with Event::listen without declaring the specific Event class as the closure param:
for example, this will not work:
Event::listen(function () {
    Cache::forget('categories');
});

But this will:
Event::listen(function (CategoryDeletedEvent $event) {
    Cache::forget('categories');
});

However, the following does work, which IMO is unexpected if going by the above behaviour, and the underlying '*' wildcard that's in effect, is hidden from the dev:
Categories::listen(function () {
   Cache::forget('categories');
});

Let me know your thoughts.
Cheers!

@chr15k  Huh, I can't believe I missed that. Thanks for pointing it out! 🙌 What syntax would you suggest?
Based on my current implementation, developers can still use * to listen to wildcard events. Since model events are string and not class, I don't think we can replicate the Event::listen closure behavior (maybe I'm wrong 🤔?).
With that in mind, I propose keeping Model::listen(fn () => dump('...')) as syntax sugar for the wildcard listener to enhance the developer experience. However, I'm open to changes and would love to hear feedback from @taylorotwell or others.

@istiak-tridip yeh I'd like to hear others' opinions on this for sure, as I can see this as something I'd use in my projects and agree it would be quite useful to add a catch-all for events on a model. I suppose all I'm wondering is if the wildcard should be set explicitly or not, for the purposes of clearer intent. If so, a straightforward approach could be to disallow the first parameter from accepting a closure.

I think for now I'm going to table this one... mainly because listen could be an existing method on models and would be breaking... but also becuase it's very easy to do something like:
$function = fn () => something();

Model::creating($function);
Model::deleting($function);


The service worker navigation preload request was cancelled before 'preloadResponse' settled

Library Affected:
workbox-navigation-preload (4.3.1)
Browser & Platform:
Google Chrome 75.0.3770.142 on macOS 10.14.6
Error Description:
When using workbox.navigationPreload.enable(), it throws this error in the console.
The service worker navigation preload request was cancelled before 'preloadResponse' settled. If you intend to use 'preloadResponse', use waitUntil() or respondWith() to wait for the promise to settle.

service-worker.js:
workbox.navigationPreload.enable()

var route = new workbox.routing.NavigationRoute(new workbox.strategies.StaleWhileRevalidate({
  cacheName: 'test',
  plugins: [
    new workbox.expiration.Plugin({
      maxEntries: 1
    })
  ]
})

workbox.routing.registerRoute(route)

Am I doing anything wrong?

having the same issue

Hi @kevmittal,
Into BLACKLIST you probably have some regexp that match some urls that lead to a navigation request. As you stated those requests to not be handled by workbox's NavigationRoute, you need to handle their preloadResponse somehow. Otherwise they are cancelled.

Hi, little update from this on our site. This is our current setup, with which we still experience the error:

Hi,
I've got workbox updated to 5.0.0, and still getting the "The service worker navigation preload request was cancelled" error even with navigationPreload switched off in GenerateSW with the following config:
return new GenerateSW({
  include: [],
  skipWaiting: false,
  cleanupOutdatedCaches: true,
  navigationPreload: false,
  sourcemap: false,
  runtimeCaching: [
    {
      urlPattern: /\/i18n\/.*\.json$/,
      handler: 'CacheFirst',
      options: {
        expiration: {
          maxEntries: 1,
          maxAgeSeconds: PERIOD_1_DAY_IN_SEC * 30
        },
        cacheName: 'dynamic',
        cacheableResponse: {
          statuses: [0, 200]
        }
      }
    }
  ]
});

Does this mean the issue still reproducible in 5.0.0? Are there any workarounds?

@smolnikov, I can't think of any reason why you'd see that message if you don't have navigation preload enabled in the current version of your service worker. Are you sure that the new service worker has taken control of the current navigation when you see it? Can you reproduce it when you visit your web app in an Incognito window?
(FWIW, @philipwalton has been going through the workbox-core fetch() implementation and has, I believe, found a possible reason why this error might be cropping up when using the StaleWhileRevalidate strategy for navigation requests.)

happens to me as well with this configuration followed by https://developers.google.com/web/tools/workbox/guides/advanced-recipes#offline_page_only
const CACHE_NAME = 'offline-app';
const FALLBACK_HTML_URL = '/index.html';

precacheAndRoute(self.__WB_MANIFEST);

self.addEventListener('install', async (event) => {
    await event.waitUntil(
        caches.open(CACHE_NAME)
            .then((cache) => cache.add(
                new Request(FALLBACK_HTML_URL, {credentials: 'same-origin'}),
            )),
    );
});

self.addEventListener('message', (event) => {
    if (event.data && event.data.type === 'SKIP_WAITING') {
        skipWaiting();
    }
});

navigationPreload.enable();

const navigationHandler = async (params) => {
    try {
        return await new NetworkFirst().handle(params);
    } catch (error) {
        return caches.match(FALLBACK_HTML_URL, {
            cacheName: CACHE_NAME,
        });
    }
};

registerRoute(
    new NavigationRoute(navigationHandler, {
        denylist: [
            /token-[^-]*\.json/,
            /\.(?:map)$/,
        ],
    }),
);

@philipwalton is there any update on this? We are also facing same issue

This is a bug in Chrome or in spec. You would see this not only when used Workbox, but in any website using ServiceWorkers Preloaded Response feature, like examples provided by spec, Google and Mozilla. For example https://developer.mozilla.org/en-US/docs/Web/API/NavigationPreloadManager will fail into same error.
Have anyone seen Chrome open issue for this?

https://bugs.chromium.org/p/chromium/issues/detail?id=1031950#c5
It finds out that the error was caused when skipped event.preloadResponse, for example
addEventListener("fetch", event =>
    event.request.mode === "navigate" &&
    new URL(event.request.url, location.origin).pathname !== "/test" &&
    event.respondWith(event.preloadResponse)
);

will result error every time when accessing page /test

Maybe this helps to solve this workbox issue too.

Hey @jeffposnick, do you know if this issue has been solved with the new version of workbox, v6?

The change alluded to in https://github.com/GoogleChrome/workbox/issues/2178#issuecomment-592030941 has been implemented in Workbox v6.0.0 (when using StaleWhileRevalidate).
I'm not sure that it will resolve the issue in all its possible manifestations, but it is worth checking to see if you can reproduce it.

Hi! I ran into the same issue in workbox-webpack-plugin 6.0.2. Navigation preload never works.
sw.js:
import { precacheAndRoute, cleanupOutdatedCaches, addPlugins } from 'workbox-precaching';
import { skipWaiting, clientsClaim, setCacheNameDetails } from 'workbox-core';
import * as navigationPreload from 'workbox-navigation-preload';
import { ExpirationPlugin } from 'workbox-expiration';
import { CacheableResponsePlugin } from 'workbox-cacheable-response';
import { getClientConfig } from './utils/sentry.js';

navigationPreload.enable();

setCacheNameDetails({
    prefix: 'mav-sw'
});

skipWaiting();
clientsClaim();

addPlugins([
    new CacheableResponsePlugin({
        statuses: [200]
    }),
    new ExpirationPlugin({
        purgeOnQuotaError: true,
        maxAgeSeconds: 30 * 24 * 60 * 60
    })
]);

// eslint-disable-next-line no-underscore-dangle
const mainfest = self.__WB_MANIFEST;

precacheAndRoute(mainfest, { cleanURLs: false });

cleanupOutdatedCaches();

@lizryzhko, I think the issue with your setup is that you're enabling navigation preload but you don't have a runtime route setup that will actually end up using that preloaded response.
The example in the documentation shows the minimal usage scenario, where navigation preload is enabled and a route is registered that match navigation requests and response using a strategy that will read the preloaded response.
(Also, I would really suggest against using ExpirationPlugin alongside workbox-precaching. I don't think you're going to get the experience you expect, as workbox-precaching has its own mechanism for expiring entries. This makes me think we should prioritize https://github.com/GoogleChrome/workbox/issues/2600.)

I'm closing this issue for now, as I don't believe there are any reports of this recurring with Workbox v6.x.

I'm still getting this issue when using the generateSW plugin most likely due wrong config (?).
   generateSW({       swDest: 'dist/edit/sw.js',       globDirectory: 'dist/',       mode: "production",       sourcemap: false,       navigationPreload: true,       navigateFallback: "/edit/index.html"
I think the plugin takes care to pre-caching the resouces (they show up in workbox-precache), but still geting
The service worker navigation preload request was cancelled before 'preloadResponse' settled. If you intend to use 'preloadResponse', use waitUntil() or respondWith() to wait for the promise to settle

@dflorey, you'll get that error if you're setting navigationPreload: true but not actually creating a route in runtimeCaching that will match your navigations and use a strategy like NetworkFirst or NetworkOnly to consume the navigation preload response.
The workaround would be to not set navigationPreload: true unless you explicitly use it via runtimeCaching.

...and that is actually something that is supposed to be required, if you're using a recent version of workbox-build:
https://github.com/GoogleChrome/workbox/blob/2ddef47bbd8a44d3e1ce5e8b13598e022b0b99c7/packages/workbox-build/src/options/partials/generate.js#L82-L85
I'm kind of curious as to how you were able to use navigationPreload without runtimeCaching.

The example in #2816 includes runtimeCaching:
generateSW({
  // ... other generateSW config options...
  navigationPreload: true,
  runtimeCaching: [{
    urlPattern: ({request}) => request.mode === 'navigate',
    handler: 'NetworkOnly',
    options: {
      precacheFallback: {
        // This URL needs to be included in your precache manifest.
        fallbackURL: '/offline.html',
      },
    },
  }],
});

Taking a stepback, using navigation preload really isn't the same thing as making your app available when offline.
Could you open a new issue describing the application architecture you're using, along with your desired caching behavior (cache-first for your HTML, fallback to previously cached when offline, a custom offline page, etc.)? Apologies as there are a _lot_of different ways to configure this behavior, and coming up with the right service worker logic is very dependent on what you actually want to accomplish and how your web app is architected.

Thanks a lot for taking the time. I'll open a different issue describing my app.

If you are working with React JS, seem like you forgot useEffect  :D

Hello, I have this trouble on version 6.2.0, after first load page when SW waiting to activate

but when activated new WS and reload page problem disappears


Implement getBlockHeight() and getBlocksFrom() methods

These two will be used by the block catchup code.
Requires https://github.com/bpfkorea/agora/pull/67

The Mac build timed out for some reason. Restarting..

Mac + ldc 1.16.0

The mac build is green yet github status still shows it as yellow..

Ok for starters I will split up the getBlockHeight() into another PR so it can be unblocked while the rest of the work is being done on the backing store of the ledger.

So unblocked?

What I meant was, to unblock getBlockHeight() from having to wait for this PR. Because this PR needs more work.

Fixed the PR. Now it's very simple, and we don't need the hash => block lookup yet, that can be part of a PR that needs it.

Fixed the PR. Now it's very simple, and we don't need the hash => block lookup yet, that can be part of a PR that needs it.

It would be less than 10 LoCs to do it in this PR, right ?

I've removed the reserve call.

Can you add a Network Test ?

Oh good point!

Can you add a Network Test ?

Btw should I add a Ledger module in /test? I'd hate to jam even more test code into GossipProtocol.d or elsewhere.

Go with the way you feel most comfortable with. I expect us to refactor / consolidate tests at some point.

Ah wait.. I didn't add the API part, it got lost in another branch lol.

Updated. @Geod24 I added a limit to the number of blocks that can be set at once. I think it's useful to have, and also it should probably be configurable later.

Ok fixed the styling.

Thanks, updated.

Added the tests to the network unittest.

@Geod24 anything else?


Impossible to achieve the Hello Mobile Navigation tutorial

I don't know why, but I cant see the Stack Navigator in my iOs simulator, just by copy/paste all the code in the Get Started tutorial on this page https://reactnavigation.org/docs/intro/
I'm using Expo if it can help

Hey @will83, I think this issue likely comes down to AppRegistry.registerComponent('SimpleApp', () => SimpleApp); being shown in the documentation but since you're using Expo it would be Expo.registerRootComponent(App);
Hope that helps out!


Decoding times in num2date exactly with timedelta arithmetic

Timedelta arithmetic in cftime uses integer arithmetic, which is precise down to the microsecond.  If passed an array of integers, or an array of floats that can safely be cast to integers, would it be possible for num2date to default to decoding times using that instead of the current imprecise floating point method?  This would be a helpful improvement to the user experience in downstream libraries like xarray, where microsecond noise introduced in the times by floating point arithmetic can interfere with automatic alignment.  See also other issues in this repo related to decoding precision, e.g. https://github.com/Unidata/cftime/issues/78, https://github.com/Unidata/cftime/issues/134.
This gist is a simplified sketch of how this code path could be implemented (I'm happy to develop it further into a PR if it seems promising).  The idea would be to try to use this method first, and fall back to using the existing floating point method if it wasn't possible.  The only reservation I would have about this is that it is about 9x slower than decoding times using floats.  In my use-cases, however, this slowdown would gladly be accepted if it meant times would be decoded exactly, but perhaps others decoding more than 10000 times at a time would find this frustrating.
Are there any other reasons I'm not thinking of for why this might not be a good idea?

@spencerkclark  - a reworking of the date calculations is long overdue, so a pull request would be welcome.  Probably best if it's implemented as an non-default option at first (especially if it's 10x slower).

Sounds good -- when I get a chance I'll try and put something more polished together.

Is it possible to have an exact inverse of this (date2num_exact) so the round-trip works without loss of precision?

Something like this should work as an inverse:
def date2num_exact(dates,units,calendar='standard'):
    calendar = calendar.lower()
    basedate = to_calendar_specific_datetime(_dateparse(units), calendar)
    unit, ignore = _datesplit(units)
    if unit not in UNIT_CONVERSION_FACTORS:
        raise ValueError("Unsupported time units provided, {!r}.".format(unit))
    if unit in ["months", "month"] and calendar != "360_day":
        raise ValueError("Units of months only valid for 360_day calendar.")
    factor = UNIT_CONVERSION_FACTORS[unit]
    times = (deltas/timedelta(microseconds=1)) / factor
    return times

with some logic to handle masked arrays?

Is it possible to have an exact inverse of this (date2num_exact) so the round-trip works without loss of precision?

That would be great too.  The tricky part there is that currently subtracting a date from another to produce a timedelta is not microsecond-exact:
In [1]: import cftime

In [2]: cftime.DatetimeNoLeap(2000, 1, 2, 0, 0, 0, 5) - cftime.DatetimeNoLeap(2000, 1, 2)
Out[2]: datetime.timedelta(microseconds=8)

This is another issue I'd be keen to address.  I haven't thought about the best way to do this.  We currently use a bit of a hack in xarray to work around this -- recall the function in this issue -- but maybe there's a more elegant / direct way.


Request to add providers

Dear developer. I'd like the Latino providers to grow a bit. I found some that could make it to Torrentio, if there's a possibility to add them by you. These are:

https://alt-torrent.com
https://yestorrent.org
https://www.elitetorrent.com
https://pelisyseries.net

Thanks a lot for your hard work. I'm sorry if my request is too much.

Hi, for some of those it's not even possible to get torrent/magnet link and others don't seem to provide any unique content.
I don't think these are good content providers.


HardwareProfile and HardwareDetails mutually exclusive?

Are HardwareProfile and HardwareDetails mutually exclusive?

No, they're not. The profile is intended to be a name of a well-known set of details. The details are what is really on the host. Eventually, when inspection is implemented, we will expand the details data structure to include values like the drive serial numbers and other values that would be unique to a given host.

Thanks for the explanation!


feature parity between DecorationRenderOptions and ThemableDecorationAttachmentRenderOptions

VSCode Version: 1.3.0

I would like to see more feature parity between DecorationRenderOptions and ThemableDecorationAttachmentRenderOptions to whatever extent is possible.
If there is a particular reason why one supports a styling property that the other does not, what are the limitations and is overcoming them on the roadmap? (Some differences, like contentText, are obvious and do not need an explanation.)

DecorationRenderOptions allows setting all of the various border styles independently, while ThemableDecorationAttachmentRenderOptions provides only a border property, which does not allow different styles for top, left, right, and bottom.

Only DecorationRenderOptions has outline styles.

Only ThemableDecorationAttachmentRenderOptions has margin.

Only ThemableDecorationAttachmentRenderOptions has height or width; are these solely used for the dimensions of contentIconPath?

In general, I think we are open to add more custom (per decoration instance) render options.
But we try to limit them -- the reason is simple: we want to encourage folks to not customize each decoration instance's style, because for each custom decoration instance style, we end up creating/writing CSS on-the-fly, which is costly.
If an extensions has 3-4 different types of decorations, it is (performance-wise) vastly preferable to create 3-4 decoration types (creating/writing CSS once) and then create decorations (with the same style) for each type.

@alexandrudima It doesn't seem that performance is related to getting a consistent interface across all of the decorations, then :)
I'll paraphrase what I think your concern is:

Each call to createTextEditorDecorationType is expensive. Try to avoid allocating decoration types and reuse them whenever possible. We discourage overuse of decorations because they slow down all of vscode, not just the extension.

I've also noticed that setDecorations is a little slow (starting at ~20ms baseline on my computer, and much slower if given a large array of ranges, say > 5000).
Once allocated, are there any additional performance penalties for having many decoration types? When multiple extensions use decorations, does the slowdown scale worse than linearly? Ignoring decoration-type allocation costs, is it better to 1) allocate a few small decoration types (i.e. few properties per type) and combine them together in different ways via overlapping their ranges in multiple calls to setDecorations, or to 2) allocate all the needed permutations of properties as separate decoration types, not overlap them, and thus make fewer calls to setDecorations?
Thanks in advance!

Decoration types, once created IMHO do not have anymore a performance impact (if we ignore the cost the browser rendering engine incurs in having one more css rule to match against).
The slowdown with decoration instances is at worst case linear (which is already too high), but most of the times the cost is localized to the number of decorations in the viewport. There are many aspects to the costs decorations in general incur:
When editing the buffer:

the markers that represent the decorations must be updated (decorations are live)
an event describing the changed decorations is generated and propagated to the view model
the view model converts the new decorations ranges from model coordinates to view model coordinates
the view needs to invalidate and repaint all the changed decorations in the viewport

When rendering a frame:

for each decoration, we need to go and ask the browser where it ended up painting the text the decoration sits on because we don't do text layout (think bi-di, right-to-left), the browser does that
so when painting we paint the text in the viewport
and then for each decoration that is in the viewport we ask the browser where the text the decoration is supposed to sit on landed
then we finally paint the decorations
if there are 10k decorations in the viewport, it is very easy to go above the budget of 10ms to paint a frame.

It is not clear to me what you want to do. What is the specific thing you're trying to accomplish and maybe I can give better answers than in general ...

@alexandrudima I'm very satisfied by your answer, thanks!
I've written a prettify-symbols-mode extension (#2402, marketplace), and my performance concern is that it relies on decorations much more than a typical extension.
In practice, I do not expect many decorations to be visible in the same viewport, but the user has the ability to control where the decorations appear so it is possible. My extension creates the many decorations (one for each user-defined substitution) only at initialization or configuration-change, so I think I'm safe :).
Back to why I created this issue in the first place: Instead of (or in addition to) replacing some text with a symbol, I want the user to also be able to apply some subset of CSS styles to the matched text or symbol. Because the decoration might be applied to a ThemableDecorationAttachmentRenderOptions or DecorationRenderOption, it is easier for me if all the types of decorations support similar CSS properties.

To keep the number of issues in our inbox on a manageable level, we're closing issues that have been on the backlog for a long time but haven't gained traction: There hasn't been any other request for the API and we'd rather keep the APIs minimal.
If you disagree and feel that this issue is crucial: We're happy to listen and to reconsider.
Thanks for your understanding. Thanks for helping and happy coding!


Usage with the Recipe API from vanilla-extract

First of all thanks a lot for the library, awesome solution!
Description
After doing the changes to rainbow-sprinkles I wanted to use with the recipes API but I get this error:
Type 'RuntimeFnReturn' is not assignable to type 'RecipeStyleRule | undefined'.
I already added the variables correctly but still ...
Expected Behaviour
Able to create recipes without any errors.
Actual Behaviour
Getting error on the recipe API
Affected Version
^0.12.1

Could you share a snippet of the code you were using when you ran into that type error?

Could you share a snippet of the code you were using when you ran into that type error?

Sure ...
This is my sprinkle file:
`
import { createRainbowSprinkles, defineProperties } from 'rainbow-sprinkles';
import { vars } from './vars.css';
const responsiveProperties = defineProperties({
conditions: {
mobile: {},
tablet: { '@media': 'screen and (min-width: 768px)' },
desktop: { '@media': 'screen and (min-width: 1024px)' }
},
defaultCondition: 'mobile',
dynamicProperties: {
display: true,
textAlign: true,
flexDirection: true,
justifyContent: true,
alignItems: true,
gap: vars.space,
paddingTop: vars.space,
paddingBottom: vars.space,
paddingLeft: vars.space,
paddingRight: vars.space,
marginTop: vars.space,
marginBottom: vars.space,
marginLeft: vars.space,
marginRight: vars.space,
width: vars.sizes,
height: vars.sizes,
borderRadius: vars.radii,
fontFamily: vars.fonts,
fontSize: vars.fontSizes,
fontWeight: vars.fontWeights,
lineHeight: vars.lineHeights
},
shorthands: {
padding: ['paddingTop', 'paddingBottom', 'paddingLeft', 'paddingRight'],
paddingX: ['paddingLeft', 'paddingRight'],
paddingY: ['paddingTop', 'paddingBottom'],
margin: ['marginTop', 'marginBottom', 'marginLeft', 'marginRight'],
marginX: ['marginLeft', 'marginRight'],
marginY: ['marginTop', 'marginBottom'],
placeItems: ['alignItems', 'justifyContent'],
typeSize: ['fontSize', 'lineHeight']
}
});
const colorModeProperties = defineProperties({
conditions: {
lightMode: { '@media': '(prefers-color-scheme: light)' },
darkMode: { '@media': '(prefers-color-scheme: dark)' }
},
defaultCondition: 'lightMode',
dynamicProperties: {
color: vars.color,
background: vars.color
}
});
const selectorProperties = defineProperties({
conditions: {
base: {},
active: { selector: '&:active' },
focus: { selector: '&:focus' },
hover: { selector: '&:hover' }
},
defaultCondition: 'base',
dynamicProperties: {
border: true,
borderColor: vars.color,
boxShadow: vars.shadows
}
});
export const sprinkles = createRainbowSprinkles(
responsiveProperties,
selectorProperties,
colorModeProperties
);
// It's a good idea to export the Sprinkles type too
export type Sprinkles = Parameters[0];
`
This is my Box Component:
`
import { ElementType, ComponentPropsWithoutRef } from 'react';
import { sprinkles, Sprinkles } from 'css';
export type BoxProps = Sprinkles &
ComponentPropsWithoutRef & {
as?: C;
};
export const Box = ({ as, children, ...props }: BoxProps) => {
const { className, style, otherProps } = sprinkles(props);
const Component = as || 'div';
return (
<Component className={className} style={style} {...otherProps}>
{children}

);
};
`
And this is a Recipe Component that was working before, nothing changed, just  changed the variables correctly:
`
import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
import { sprinkles } from 'css';
export const button = recipe({
base: sprinkles({
display: 'flex',
border: 'none',
borderRadius: '$3',
fontWeight: '$normal',
fontSize: 'body'
}),
variants: {
variant: {
default: sprinkles({
boxShadow: '$small',
background: {
lightMode: '$defaultBackground',
darkMode: '$defaultBackground'
},
color: {
lightMode: '$text',
darkMode: '$text'
}
}),
active: sprinkles({
background: {
lightMode: '$primary',
darkMode: '$primary'
},
color: {
lightMode: '$white',
darkMode: '$white'
}
})
},
size: {
small: sprinkles({
padding: '$2'
}),
medium: sprinkles({
padding: '$4'
}),
large: sprinkles({
padding: '$6'
})
}
},
defaultVariants: {
variant: 'default',
size: 'medium'
}
});
// Get the type
export type ButtonVariants = RecipeVariants;
`
FYI, autocompletion and everything  works:

I assume is caused we are not using properties... is either dynamic or static

Ah ok, I think the confusion here is that sprinkles isn't meant to be used in other .css.ts files, instead it is meant to only be used in a component like Box, and then if other components need the functionality of rainbow-sprinkles, they can compose on top of Box. (this is my understanding of the library however, not sure if @roginfarrer has explicitly tested using sprinkles in other .css.ts files yet though)
So in your example:

Keep css file as-is (creating sprinkles etc)
Keep Box.tsx file as-is (consuming sprinkles etc)
Update Button.tsx to something like:

import Box from './Box';

export default function Button(props) {
  return (
    <Box
      as="button"
      display="flex"
      border="none"
      borderRadius="$3"
      fontWeight="$normal"
      // Additional system props here ...
    >
      {props.children}
    </Box>
  );
}

@hamlim Oh ok, is there a workaround for a similar implementation ?
I'm using the approach in the recipes api https://vanilla-extract.style/documentation/recipes-api/.
Thanks in advanced.


Refactor help

You'll need to remove the how it works page from a bunch of places, not just the page itself!

Oh yeah Pete you are right


Fix declaration of war

About the PR
Fix the declaration of war not working, nukies can now open the declaration of war. Couple of issues made for this: #20282, #20357
Why / Balance
Fix, potentially broken from this PR: #19792, fixes #20282
Technical details
When the role check for the nukie was done it was storing the mind ID for when the nukie was assigned but not when it was checked for the war declaration check.
Media
https://github.com/space-wizards/space-station-14/assets/47093363/0d8928ef-d325-4a63-a0a5-81d688aa3efc

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes
None.
Changelog
Nukies can now again call for a war on the declaration of war.
:cl: Repo

fix: Nukies can declare war again.

put fixes #20282 in the description so it auto closes when merged

put fixes #20282 in the description so it auto closes when merged

Thank you! This is handy.

Pointy hat to @deltanedas for introducing a regression in a refactor.

you had weeks to find it :trollface:

Why does the declaration of war now spawn on the floor under the commander, instead of in the commanders' hand?

Why does the declaration of war now spawn on the floor under the commander, instead of in the commanders' hand?

Why does the declaration of war now spawn on the floor under the commander, instead of in the commanders' hand?

As far as i knew it was always spawned below them, did it used to go in to the hands?

Why does the declaration of war now spawn on the floor under the commander, instead of in the commanders' hand?

As far as i knew it was always spawned below them, did it used to go in to the hands?

Yes, it's supposed to show up in your hands. If you're able to take a look at another time, that would be appreciated, but I'm going to go ahead and merge this as-is.

Thank you for your contribution.


Can't figure out why Performance_RNN won't train

Hey everyone,
I'm a bit confused that I'm not able to train a performance_rnn with config=performance on my paperspace. My machine is running on Ubuntu 18.04.1 LTS with a cuda supported quattro q5000 card.
The only steps I did so far is

installing anaconda.
2 create an python 3.6.8 env
pip install tensorflow-gpu
pip install magenta-gpu

I've been able to train a polyphonic model on that configuration.
somehow a perfromance_rnn stops to train with the follwing console lines:
May you have a hint what I did wrong?
thanks in advance,
christian
performance_rnn_train \

--config=performance
--run_dir=/home/paperspace/Magenta/yamaha_bach/tmp/train
--sequence_example_file=/home/paperspace/Magenta/yamaha_bach/tmp/notesequences.tfrecord
--hparams="rnn_layer_sizes=[512,512,512]"
--num_training_steps=300
/home/paperspace/anaconda3/lib/python3.6/site-packages/h5py/init.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters

WARNING: The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:

https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md
https://github.com/tensorflow/addons
If you depend on functionality not listed there, please file an issue.

INFO:tensorflow:hparams = {'batch_size': 64, 'rnn_layer_sizes': [512, 512, 512], 'dropout_keep_prob': 1.0, 'attn_length': 0, 'clip_norm': 3, 'learning_rate': 0.001, 'residual_connections': False, 'use_cudnn': False}
INFO:tensorflow:Train dir: /home/paperspace/Magenta/yamaha_bach/tmp/train/train
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/magenta/common/sequence_example_lib.py:94: string_input_producer (from tensorflow.python.training.input) is deprecated and will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by tf.data. Use tf.data.Dataset.from_tensor_slices(string_tensor).shuffle(tf.shape(input_tensor, out_type=tf.int64)[0]).repeat(num_epochs). If shuffle=False, omit the .shuffle(...).
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/tensorflow/python/training/input.py:278: input_producer (from tensorflow.python.training.input) is deprecated and will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by tf.data. Use tf.data.Dataset.from_tensor_slices(input_tensor).shuffle(tf.shape(input_tensor, out_type=tf.int64)[0]).repeat(num_epochs). If shuffle=False, omit the .shuffle(...).
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/tensorflow/python/training/input.py:190: limit_epochs (from tensorflow.python.training.input) is deprecated and will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by tf.data. Use tf.data.Dataset.from_tensors(tensor).repeat(num_epochs).
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/tensorflow/python/training/input.py:199: QueueRunner.init (from tensorflow.python.training.queue_runner_impl) is deprecated and will be removed in a future version.
Instructions for updating:
To construct input pipelines, use the tf.data module.
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/tensorflow/python/training/input.py:199: add_queue_runner (from tensorflow.python.training.queue_runner_impl) is deprecated and will be removed in a future version.
Instructions for updating:
To construct input pipelines, use the tf.data module.
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/tensorflow/python/training/input.py:202: to_float (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.cast instead.
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/magenta/common/sequence_example_lib.py:95: TFRecordReader.init (from tensorflow.python.ops.io_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by tf.data. Use tf.data.TFRecordDataset.
INFO:tensorflow:Counting records in /home/paperspace/Magenta/yamaha_bach/tmp/notesequences.tfrecord.
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/magenta/common/sequence_example_lib.py:150: tf_record_iterator (from tensorflow.python.lib.io.tf_record) is deprecated and will be removed in a future version.
Instructions for updating:
Use eager execution and:
tf.data.TFRecordDataset(path)
INFO:tensorflow:Number of records is at least 100.
INFO:tensorflow:[<tf.Tensor 'random_shuffle_queue_Dequeue:0' shape=(?, 356) dtype=float32>, <tf.Tensor 'random_shuffle_queue_Dequeue:1' shape=(?,) dtype=int64>, <tf.Tensor 'random_shuffle_queue_Dequeue:2' shape=() dtype=int32>]
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/magenta/common/sequence_example_lib.py:134: batch (from tensorflow.python.training.input) is deprecated and will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by tf.data. Use tf.data.Dataset.batch(batch_size) (or padded_batch(...) if dynamic_pad=True).
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/magenta/models/shared/events_rnn_graph.py:52: BasicLSTMCell.init (from tensorflow.python.ops.rnn_cell_impl) is deprecated and will be removed in a future version.
Instructions for updating:
This class is equivalent as tf.keras.layers.LSTMCell, and will be replaced by that in Tensorflow 2.0.
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/magenta/models/shared/events_rnn_graph.py:65: MultiRNNCell.init (from tensorflow.python.ops.rnn_cell_impl) is deprecated and will be removed in a future version.
Instructions for updating:
This class is equivalent as tf.keras.layers.StackedRNNCells, and will be replaced by that in Tensorflow 2.0.
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/magenta/models/shared/events_rnn_graph.py:272: dynamic_rnn (from tensorflow.python.ops.rnn) is deprecated and will be removed in a future version.
Instructions for updating:
Please use keras.layers.RNN(cell), which is equivalent to this API
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/rnn.py:626: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.cast instead.
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/tensor_array_ops.py:162: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/magenta/models/shared/events_rnn_graph.py:319: py_func (from tensorflow.python.ops.script_ops) is deprecated and will be removed in a future version.
Instructions for updating:
tf.py_func is deprecated in TF V2. Instead, use
tf.py_function, which takes a python function which manipulates tf eager
tensors instead of numpy arrays. It's easy to convert a tf eager tensor to
an ndarray (just call tensor.numpy()) but having access to eager tensors
means tf.py_functions can use accelerators such as GPUs as well as
being differentiable using a gradient tape.
INFO:tensorflow:Starting training loop...
INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:Graph was finalized.
2019-04-15 06:03:40.499610: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-04-15 06:03:40.617702: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:998] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-04-15 06:03:40.618195: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x563bf4a31220 executing computations on platform CUDA. Devices:
2019-04-15 06:03:40.618218: I tensorflow/compiler/xla/service/service.cc:158]   StreamExecutor device (0): Quadro P5000, Compute Capability 6.1
2019-04-15 06:03:40.620472: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2019-04-15 06:03:40.621089: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x563bf4a305f0 executing computations on platform Host. Devices:
2019-04-15 06:03:40.621114: I tensorflow/compiler/xla/service/service.cc:158]   StreamExecutor device (0): ,
2019-04-15 06:03:40.621465: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1433] Found device 0 with properties:
name: Quadro P5000 major: 6 minor: 1 memoryClockRate(GHz): 1.7335
pciBusID: 0000:00:05.0
totalMemory: 15.90GiB freeMemory: 15.48GiB
2019-04-15 06:03:40.621491: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adding visible gpu devices: 0
2019-04-15 06:03:40.622057: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-04-15 06:03:40.622078: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990]      0
2019-04-15 06:03:40.622085: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1003] 0:   N
2019-04-15 06:03:40.622392: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 15056 MB memory) -> physical GPU (device: 0, name: Quadro P5000, pci bus id: 0000:00:05.0, compute capability: 6.1)
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
WARNING:tensorflow:From /home/paperspace/anaconda3/lib/python3.6/site-packages/tensorflow/python/training/monitored_session.py:809: start_queue_runners (from tensorflow.python.training.queue_runner_impl) is deprecated and will be removed in a future version.
Instructions for updating:
To construct input pipelines, use the tf.data module.
Segmentation fault

A segmentation fault likely indicates an issue with your TensorFlow installation or maybe your GPU drivers. Can you try uninstalling the magenta-gpu and tensorflow-gpu packages and installing the CPU-only versions? If those work, then we know for sure it's a bug with TensorFlow and/or the GPU drivers.

Hey Curtis,
sorry for my late reply.
Thanks for your response.
I'm currently a bit busy working abroad. I'll check it out as soon as I find some time!
Best
C.


Analytics module not working in production mode

Version
2.2.0
Reproduction link
https://codepen.io/d--c/pen/rNNLXRq?editors=0010
Steps to reproduce
In development mode, with the debug code the script works fine. In production, I do not get any hits.
googleAnalytics: {
   id: "UA-147623000-1"
  }

What is expected ?
Hits in production mode
What is actually happening?
No hits in production mode.
Additional comments?
I did contemplate just leaving it in dev mode enabled:true but then the console is riddled with info which I do not wish to be seen by the user. I am using Nuxt v 2.10.1.
Do I need to change the 'Mode' in my Nuxt.config.js? Or shallI just use the Plugin method available on the official docs? https://nuxtjs.org/faq/google-analytics/

This bug report is available on Nuxt community (#c47)

same here
"@nuxtjs/google-analytics": "^2.2.0",
"nuxt": "^2.10.0",

Wonder if it is to do with the latest Nuxt?

same,
"nuxt": "^2.9.2",
"@nuxtjs/google-analytics": "^2.2.0",

confirming this isnt working on my end

Really terrible timing

Same here.

same here in nuxt 2.10

Same here. Downgrading nuxt to 2.9.2 works as temporary fix

BROKEN, even when downgrading to 2.9.2!

Confirmed broken in 2.10, working in 2.9.2

Use the "thumbs up" emoji on the actual issue instead of posting "same here", "broken" or similar. Thanks.

Not working either nuxt 2.6.3 & nuxtjs/google-analytics 2.2.0 weird because stopped working just 3 days ago.

Confirmed same issue here after upgrading to Nuxt 2.10

Im using GTM now after i saw this...
https://www.memory-lovers.blog/entry/2019/06/20/113000

In production using
"nuxt": "^2.10.1",
"@nuxtjs/google-analytics": "^2.2.0"

with the module setting
modules: [
    [
      "@nuxtjs/google-analytics",
      { id: "GA-ID-Here"}
    ]
]

I can confirm the google analytics tracking script does not work.
However, if I change the module setting to
modules: [
    [
      "@nuxtjs/google-analytics",
      { id: "GA-ID-Here"}, debug: { sendHitTask: true }
    ]
]

as @manniL showed above the tracking script works again in production.

@manniL @sankhagowit Thanks so much both. I do have it working now. Thanks once more!!! :-)

adding this resolved it for me too
debug: {
  sendHitTask: true
}

We should not need to manually set sendHitTask to true though. It sounds like something in Nuxt 2.10+ changed with regards to determining if we are in dev or prod, so this is no longer sending hits.

vue-analytics by default sets sendHitTask to true, not sure why in the nuxt module wrapper, this property has been set to undefined. Doesn't make any sense to me
VueAnalytics Nuxt version: https://github.com/nuxt-community/analytics-module/blob/master/lib/module.js#L7
VueAnalytics Original version:  https://github.com/MatteoGabriele/vue-analytics/blob/master/src/config.js#L44

Yeah i agree
On Tue, Oct 22, 2019, 15:30 Robert Wagner<EMAIL_ADDRESS>wrote:

We should not need to manually set sendHitTask to true though. It sounds
like something in Nuxt 2.10+ changed with regards to determining if we are
in dev or prod, so this is no longer sending hits.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/nuxt-community/analytics-module/issues/60?email_source=notifications&email_token=ACQV6VMONRIIQMXK5L3A5E3QP3TN7A5CNFSM4JBVR572YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB5PCDY#issuecomment-544928015,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACQV6VL5FVZ77SS7M3TJMWTQP3TN7ANCNFSM4JBVR57Q
.

In prod mode sendHitTask will be set to true in next version https://github.com/nuxt-community/analytics-module/commit/9c55a28ca21ab228675c11e8be5c04f343351041
In dev mode sendHitTask is set to false

Note: By default, you won't see hits going out in dev mode. For testing analytics in dev mode, you must add the following to nuxt.config.js

https://github.com/nuxt-community/analytics-module#usage

@ricardogobbosouza When will the next version be published? I am using the top-level option so in the meantime should I just do this:
googleAnalytics: {
    id: 'UA-1234567-8',
    debug: {
      sendHitTask: process.env.NODE_ENV !== 'development'
    }
  }

@manniL can publish a new version?

Fixed on v2.2.1

(release pending due to lack of publishing rights. should be resolved tomorrow.)

I thought I had released

Fixed in 2.2.1: https://github.com/nuxt-community/analytics-module/blob/master/CHANGELOG.md#221-2019-10-25

@xdcha
wo you are using lazysizes, curious to see that, can you show me how are you implementing in the project as I am also trying to use that


how can i burn the snes rom into pico?

i got all the elements and the pcb, and what should i do next?

beg your help~

this project isn't capable of loading a rom yet.


Force break in memory generation

Allow me to set a breakpoint. "Please stop generating a memory and start generating a new one Friend"

Duplicated issue


SYS_SUMM for Nmon Visualizer

Does Nmon Visualizer provide anything like Nmon Analyser's SYS_SUMM ?
From https://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser doc inside zip file:
SYS_SUMM
This section is entirely generated by the Analyser and contains a useful summary of data taken
from other sheets. Note the the avg/max values for User%, Sys%, Wait% and Idle% are
independent and will not add up to 100%. The CPU% column shows avg/max values for the
sum of usr%+sys% during each interval. For micro-partitions, the values are shown as a
percentage of the Virtual Processors – they do not relate to the CPU_ALL values.
For non-partitioned or dedicated CPU partitions the graph shows the total CPU Utilisation (%usr

%sys) together with the Disk I/O rate (taken from the DISKXFER sheet) by time of day. For
micro-partitions the graph shows the number of physical CPUs being used instead of CPU%.
The value “Max:Avg” is simply the maximum value divided by the average. If monitored over a
long period of time the value for CPU% can be useful in spotting a system reaching saturation
level (the ratio will steadily decrease). If you have historical data then the value can also be
useful in determining how much latent demand is present in a system running at saturation level.

Possibly you can get similar data from the Table view (View -> Summary Table). You can drag and drop metrics from the left hand side into this table then display the min/max/avg (right click on the table -> Select Columns to pick which ones) for each metric over the interval. If there are multiple systems, the table will include data for each system.
You can also right click on the table and Copy All to put the data into the clipboard as CSV.
Note that stats are calculated over the given interval (defaults to all data). So, you could set different intervals and copy out the CSV data into a spreadsheet if needed. You can also get some of the similar data by clicking Graph All Intervals at the top right of the chart window, right clicking on the chart and selecting Copy Chart Data to put all the data points (avgs for each interval) into the clipboard.

Thanks. I've just noticed that the CPU_ALL chart has a table below it that cotains exactly the data I need. How can I alter my command line xml file to export that table to a file ?

From the command line, there isn't a way to generate the chart summary data - that's a GUI only feature. You could output a CSV file from the command line using the --rawdata option. This will create one large CSV file for each NMON host which you could then analyze with Python/Pandas or open in a spreadsheet.


Support incremental builds in the annotations processor

Assuming it can be done.

SQLDelight isn't an annotation processor!

Oh, I thought the compiler ran as a part of APT. Interesting, how is it done? As a gradle task?

Yep. And those tasks should be incremental themselves.
On Thu, Mar 21, 2019 at 11:08 AM Nicklas Ansman Giertz <
<EMAIL_ADDRESS>wrote:

Closed #1281 https://github.com/square/sqldelight/issues/1281.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/square/sqldelight/issues/1281#event-2220040633, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAEEEVYUjPoYUZcR7229Lzrwj6fU7RSoks5vY6BvgaJpZM4cBouR
.


feat(shell): configurable hermit bin location

Currently when you install shell hooks for zsh or bash, hermit always assumes it's installed in ~/bin/hermit. This is fine for most use cases, but there are situations where the root hermit binary of a computer can be somewhere else. For example, when using nix, packages end up in ~/.nix-profile/bin/hermit.
This patch adds support for being able to configure where the hooks end up installed by either passing in a --hermit-bin flag to places where shell detection happens, or a $HERMIT_ROOT_BIN environment variable.
This settings is completely optional, and if omitted, the default behavior is to have the values in $HOME/bin/hermit.
Testing!
1. go run ./cmd/hermit shell-hooks --zsh --print
Output

change_hermit_env() {
  local CUR=${PWD}
  while [ "$CUR" != "/" ]; do
    if [ "${CUR}" -ef "${HERMIT_ENV}" ]; then return; fi
    if [ -f "${CUR}/bin/activate-hermit" ]; then
      if [ -n "${HERMIT_ENV+_}"  ]; then type _hermit_deactivate &>/dev/null && _hermit_deactivate; fi
      # shellcheck source=files/activate-hermit
      if ! [ "${CUR}" -ef "${DEACTIVATED_HERMIT}" ]; then
        if "$HOME/bin/hermit" --quiet validate env "${CUR}"; then
          . "${CUR}/bin/activate-hermit"
        fi
      fi
      return
    fi
    CUR="$(dirname "${CUR}")"
  done
  unset DEACTIVATED_HERMIT
  if [ -n "${HERMIT_ENV+_}"  ]; then type _hermit_deactivate &>/dev/null && _hermit_deactivate; fi
}

precmd_functions+=(change_hermit_env)

# shellcheck disable=SC2154
if [[ -n ${_comps+x} ]]; then
  autoload -U +X bashcompinit && bashcompinit
  complete -o nospace -C "$HOME/bin/hermit" hermit
fi

2. go run ./cmd/hermit shell-hooks --zsh
Output

eval "$(test $HOME/bin/hermit && $HOME/bin/hermit shell-hooks --print --zsh --hermit-bin $HOME/bin/hermit)"

Other Thoughts
This works as is, but I think it would be useful to have the shell hook look for HERMIT_ROOT_BIN itself and execute that way, so that if HERMIT_ROOT_BIN is unset it will default to whatever wrote it, but if someone wanted to, could quickly override it in their shell for local development.
Let me know what you think :)

Doing a separate implementation here: https://github.com/cashapp/hermit/pull/372


a moveThreshold issue with onTap event

when i hold touching on a tappable component and move up a very long distance and move back to the point where the move started at.
movement.x <= this.props.moveThreshold && movement.y <= this.props.moveThreshold && this.props.onTap

because of the condition can only calc the movement between endTouch and startTouch,so a very long move will be though a tap event.
so we use a Journey to calculate all the movement, let the moveThreshold real be.

Please don't submit a build,  only submit your actual changes

+13,615 −13,648

@lizhengqiang you still have the built files included...

this is kind of a duplicate of https://github.com/JedWatson/react-tappable/pull/85 right?
different approach to fixing the same problem as far as I can tell.

@mattcolman both PRs suffer the same issue.  Please remove the build files.

Closing in favour of https://github.com/JedWatson/react-tappable/pull/85#pullrequestreview-37206913


Web - Expensify card - Error when wrong 4 digit is used persists for a few sec after a refresh

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.53-0
Reproducible in staging?: Y
Reproducible in production?: Y
Issue was found when executing this PR: https://github.com/Expensify/App/pull/50660
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:
Pre-conditions:

Workspace is connected with a bank account
Workspace has a member invited
Workspace has enabled Expensify card
Admin has issued a physical card for employee
Employee is done adding shipping details to receive the card

Sign in with the invited member's account
Go to wallet > Open issued physical card RHP
Use random 4 digit number to activate the card
Refresh the page

Expected Result:
The error message disappears instantly after the refresh
Actual Result:
The error message persists for a few seconds before disappearing
Workaround:
Unknown
Platforms:

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/886bfcb2-2b09-46e8-9813-8f7bd6f35fe7

View all open jobs on GitHub

We think that this bug might be related to #wave-collect - Release 2

@bfitzexpensify  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Proposal ready for review in https://github.com/Expensify/App/issues/51396#issuecomment-2434991029 @alitoshmatov

I don't think I can reproduce this issue as it requires physical card being issued. @nyomanjyotisa Were you able to reproduce this issue or assumed the solution here

Okay I think we can go with @nyomanjyotisa 's proposal which cleans errors on mount and unmount
C+ reviewed 🎀 👀 🎀

How is this one going @nyomanjyotisa?

Payment complete for @nyomanjyotisa
@alitoshmatov, please complete the BZ checklist and I'll post the payment summary for the C+ work

BugZero Checklist:

[ ] [Contributor] Classify the bug:

Bug classification

Source of bug:

[ ] 1a. Result of the original design (eg. a case wasn't considered)
[ ] 1b. Mistake during implementation
[ ] 1c. Backend bug
[ ] 1z. Other:

Where bug was reported:

[ ] 2a. Reported on production (eg. bug slipped through the normal regression and PR testing process on staging)
[ ] 2b. Reported on staging (eg. found during regression or PR testing)
[ ] 2d. Reported on a PR
[ ] 2z. Other:

Who reported the bug:

[ ] 3a. Expensify user
[ ] 3b. Expensify employee
[ ] 3c. Contributor
[ ] 3d. QA
[ ] 3z. Other:

[ ] [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment:

[ ] [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion:

[ ] [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

Regression Test Proposal Template

[ ] [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.
Link to issue:

Regression Test Proposal
Precondition:

Test:

Do we agree 👍 or 👎

@bfitzexpensify Done

$250 approved for @alitoshmatov


adding future spork dates

based on https://www.notion.so/dapperlabs/Feb-4th-3a6dfb928999456ba3559e68703b086c
Closes: #???
Description

For contributor use:

[ ] Targeted PR against master branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Updated relevant documentation
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

I noticed earlier today that the past sporks page didn't have the past devnet33 included. Might want to make sure sporks.json is in sync too, though i didn't check it and it might be ok

I noticed earlier today that the past sporks page didn't have the past devnet33 included. Might want to make sure sporks.json is in sync too, though i didn't check it and it might be ok
had put out a PR for it earlier - can you review that too :)
https://github.com/onflow/flow/pull/810


Family field in Add Gall not working

The Family field is auto-filling known genera (yay!) but won't let me associate a family with a new genus (which of course also means I can't submit the gall at all). It won't let me type more than a letter in and it empties if I select any option. Video attached.
https://user-images.githubusercontent.com/69063635/114770016-f0495800-9d38-11eb-9a85-d76c926dd183.mp4

Will fix this with the other and get them deployed today barring some roadblock.


How to set the hyperparameters when finetuning I2V model with LoRA?

File "/home/shinji106/ntu/cogvideox-factory/training/dataset.py", line 411, in iter
self.buckets[(f, h, w)].append(data)
KeyError: (16, 320, 720)
The resolution is (13, 320, 480) so the key of self.bucket does not match with input.
How do I set the hyperparameters when running the prepare_dataset.sh and train_image_to_video_lora.sh so that the key will match?

Were you able to solve this? I'm having a similar issue on the train_text_to_video_lora.sh using the sample Disney video dataset.
Running command: accelerate launch --config_file accelerate_configs/uncompiled_1.yaml --gpu_ids 0 training/cogvideox_text_to_video_lora.py           --pretrained_model_name_or_path THUDM/CogVideoX-5b           --data_root /content/drive/MyDrive/cogvideox-factory/video-dataset-disney-processed           --caption_column prompts.txt           --video_column videos.txt           --id_token BW_STYLE           --height_buckets 480           --width_buckets 720           --frame_buckets 49           --dataloader_num_workers 8           --pin_memory           --validation_prompt "BW_STYLE A black and white animated scene unfolds with an anthropomorphic goat surrounded by musical notes and symbols, suggesting a playful environment. Mickey Mouse appears, leaning forward in curiosity as the goat remains still. The goat then engages with Mickey, who bends down to converse or react. The dynamics shift as Mickey grabs the goat, potentially in surprise or playfulness, amidst a minimalistic background. The scene captures the evolving relationship between the two characters in a whimsical, animated setting, emphasizing their interactions and emotions:::BW_STYLE A panda, dressed in a small, red jacket and a tiny hat, sits on a wooden stool in a serene bamboo forest. The panda's fluffy paws strum a miniature acoustic guitar, producing soft, melodic tunes. Nearby, a few other pandas gather, watching curiously and some clapping in rhythm. Sunlight filters through the tall bamboo, casting a gentle glow on the scene. The panda's face is expressive, showing concentration and joy as it plays. The background includes a small, flowing stream and vibrant green foliage, enhancing the peaceful and magical atmosphere of this unique musical performance"           --validation_prompt_separator :::           --num_validation_videos 1           --validation_epochs 10           --seed 42           --rank 128           --lora_alpha 128           --mixed_precision bf16           --output_dir ./cogvideox-lora__optimizer_adamw__steps_3000__lr-schedule_cosine_with_restarts__learning-rate_1e-4/           --max_num_frames 49           --train_batch_size 1           --max_train_steps 3000           --checkpointing_steps 1000           --gradient_accumulation_steps 1           --gradient_checkpointing           --learning_rate 1e-4           --lr_scheduler cosine_with_restarts           --lr_warmup_steps 400           --lr_num_cycles 1           --enable_slicing           --enable_tiling           --enable_model_cpu_offload           --load_tensors           --optimizer adamw           --beta1 0.9           --beta2 0.95           --weight_decay 0.001           --max_grad_norm 1.0           --allow_tf32           --report_to wandb           --nccl_timeout 1800
2024-11-11 22:09:24.906180: I tensorflow/core/util/port.cc:153] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2024-11-11 22:09:24.924515: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:485] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered
2024-11-11 22:09:24.945701: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:8454] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
2024-11-11 22:09:24.952273: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1452] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
2024-11-11 22:09:24.967960: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-11-11 22:09:26.182734: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
You set `add_prefix_space`. The tokenizer needs to be converted from the slow tokenizers
Downloading shards: 100% 2/2 [00:00<00:00, 6786.90it/s]
Loading checkpoint shards: 100% 2/2 [00:10<00:00,  5.43s/it]
Fetching 2 files: 100% 2/2 [00:00<00:00, 33288.13it/s]
{'use_learned_positional_embeddings'} was not found in config. Values will be initialized to default values.
wandb: Using wandb-core as the SDK backend. Please refer to https://wandb.me/wandb-core for more information.
wandb: Tracking run with wandb version 0.18.5
wandb: W&B syncing is set to `offline` in this directory.
wandb: Run `wandb online` or set WANDB_MODE=online to enable cloud syncing.
===== Memory before training =====
memory_allocated=19.906 GB
max_memory_allocated=19.906 GB
max_memory_reserved=20.006 GB
***** Running training *****
  Num trainable parameters = 132120576
  Num examples = 69
  Num batches each epoch = 69
  Num epochs = 44
  Instantaneous batch size per device = 1
  Total train batch size (w. parallel, distributed & accumulation) = 1
  Gradient accumulation steps = 1
  Total optimization steps = 3000
Steps:   0% 0/3000 [00:00<?, ?it/s]Traceback (most recent call last):
  File "/content/drive/MyDrive/cogvideox-factory/training/cogvideox_text_to_video_lora.py", line 946, in <module>
    main(args)
  File "/content/drive/MyDrive/cogvideox-factory/training/cogvideox_text_to_video_lora.py", line 645, in main
    for step, batch in enumerate(train_dataloader):
  File "/usr/local/lib/python3.10/dist-packages/accelerate/data_loader.py", line 547, in __iter__
    dataloader_iter = self.base_dataloader.__iter__()
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/data/dataloader.py", line 440, in __iter__
    return self._get_iterator()
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/data/dataloader.py", line 388, in _get_iterator
    return _MultiProcessingDataLoaderIter(self)
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/data/dataloader.py", line 1083, in __init__
    self._reset(loader, first_iter=True)
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/data/dataloader.py", line 1116, in _reset
    self._try_put_index()
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/data/dataloader.py", line 1350, in _try_put_index
    index = self._next_index()
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/data/dataloader.py", line 620, in _next_index
    return next(self._sampler_iter)  # may raise StopIteration
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/data/sampler.py", line 288, in __iter__
    for idx in self.sampler:
  File "/content/drive/MyDrive/cogvideox-factory/training/dataset.py", line 410, in __iter__
    self.buckets[(f, h, w)].append(data)
KeyError: (49, 384, 576)

Those values seems to be correct per the dataset specs, but it still throws an error.

Cc: @a-r-r-o-w I think you faced this recently as well?