Cannot do cabal 3.0 build for 8.6.5

Trying to install cabal-hie-8.6.5 gives me the following error instead:
Warning: Failed to build documentation for haddock-api-2.22.0 (which is
required by test:wrapper-test from haskell-ide-engine-<IP_ADDRESS>, test:unit-test
from haskell-ide-engine-<IP_ADDRESS> and others).
# stack (for cabal-hie-8.6.5)
# cabal (for cabal-hie-8.6.5)
cabal: unrecognized 'new-install' option
`--symlink-bindir=/home/annaia/.local/bin'
Error when running Shake build system:
  at src/Development/Shake/Internal/Args.hs:81:69-79:
* Depends on: cabal-hie-8.6.5
* Raised the exception:
user error (Development.Shake.command_, system command failed
Command: cabal new-install --write-ghc-environment-files=never --symlink-bindir=/home/annaia/.local/bin exe:hie --overwrite-policy=always
Exit code: 1
Stderr:
cabal: unrecognized 'new-install' option
`--symlink-bindir=/home/annaia/.local/bin'
)

I have ghc-8.6.5 and cabal 3.0 installed locally so I'm presuming this is because somehow the stack temp cabal isn't the right version?
Anyway to fix this or is there something I'm missing?

Has cabal 3.0 been released yet?

Has cabal 3.0 been released yet?

No. However:

We do build against GHC-nightly
We'll need to support it when it's out
Having a version check is a good idea to prevent breakage. We do check stack for example.

@nponeccop we build against stackage nightly, not ghc nightly.
And we have a number of dependencies, that are intricately tied to the environment. So I would not expect a new cabal to just work, without updates to cabal-helper and ghc-mod at the very least.

@nponeccop we build against stackage nightly, not ghc nightly.
oh, my bad. I saw ghc-nightly in .circleci and thought it's against GHC HEAD built by someone else (which is not a bad idea)

I think this should be closed, as wontfix?

I think this should be addressed soonish. Would be the fix to just use cabal v2-build, to ensure backwards and forwards compatibility?

I think using v2-build is an easy way to fix this?

Actually, the problem seems to be:
cabal: unrecognized 'new-install' option `--symlink-bindir=/home/annaia/.local/bin'

This problem is becoming more urgent. The fix, per se, is simple, just check for the version string, before using v2-install.
However, the question arises what version range we aim to support.

Note that cabal-install-<IP_ADDRESS> had been shiped with --install-method=symlink and it seems it will be fixed with <IP_ADDRESS>.
So maybe in windows we should explicitly set that flag if we ant support <IP_ADDRESS>.

Perhaps this issue can be unpinned now?

This is a real bummer. Can we get the <IP_ADDRESS> soon?

@wilx theinstall.script already support cabal-<IP_ADDRESS>, setting --install-method=copy` auto for windows


Fixed Menuhax install

Actually, I just derped a little, so I'll have to fix something and PR again real quick.


Add overall subscription status prooperty to subscriptionstatus CRD

Description
Add overall subscription status prooperty to subscriptionstatus CRD
Related Issue
https://issues.redhat.com/browse/ACM-8446
Changes Made
In the subscriptionstatus CRD that is used by App Lifecycle, added a new property under statuses called subscription.
Screenshots (if applicable)
Add screenshots or GIFs that demonstrate the changes visually, if relevant.
Checklist

[x] I have tested the changes locally and they are functioning as expected.
[x] I have updated the documentation (if necessary) to reflect the changes.
[x] I have added/updated relevant unit tests (if applicable).
[x] I have ensured that my code follows the project's coding standards.
[x] I have checked for any potential security issues and addressed them.
[x] I have added necessary comments to the code, especially in complex or unclear sections.
[x] I have rebased my branch on top of the latest main/master branch.

Additional Notes
Add any additional notes, context, or information that might be helpful for reviewers.
Reviewers
Tag the appropriate reviewers who should review this pull request. To add reviewers, please add the following line: `/cc @xiangjingli @cameronmwall
Definition of Done

[ ] Code is reviewed.
[ ] Code is tested.
[ ] Documentation is updated.
[ ] All checks and tests pass.
[ ] Approved by at least one reviewer.
[ ] Merged into the main/master branch.

@philipwu08  The PR looks good.  It looks you manually created it
@cameronmwall  I wonder if such PR is expected to be created automatically by a installer tool

@philipwu08 @xiangjingli we can close this PR. The installer tool was fixed and the automated PR containing these changes will merge in a few minutes: https://github.com/stolostron/multiclusterhub-operator/pull/1293.


Summary page with statistics

It would be nice to access from the home page to a statistics page that would show the global footprint as in the paper with a summary of alerts processed.

Please also add TNS stats: # events reported to TNS, # of events spectroscopically confirmed as SNe/SNe Ia/others (AGNs but I think if any will be only a handful).


Bus Error / Segmentation Fault

I successfully installed the requirements for this on my macOS M1 Max machine. When I run
python3 -m romp.predict.image --inputs=demo/images --output_dir=demo/image_results
I get:
[1]    59077 segmentation fault  python3 -m romp.predict.image --inputs=demo/images
The demo images are the default ones from this repo. I did not change any settings or configs.
Any tips would be appreciated.

I think this bug might be caused by the visualization part. To check this guess, please set save_visualization_on_img=False in configs/image.yml. We can ensure this, if the code can be run without this bug. To fix this bug, you can try to set renderer ='pytorch3d', to use 'pytorch3d' for rendering.
Don't hestitate to reach to me, if there are anything wrong.

@Arthur151 - I updated configs/image.yml to use save_visualization_on_img=False. I tried renderer='pytorch3d' and renderer='pyrender' and got the same error.
I added a lot of print statements and the bus error seems to come from this line in base_predictor.py:
from utils.demo_utils import save_meshes, get_video_bn, Time_counter
If I comment out the above, I don't get the bus error, I get this instead:

ImportError: cannot import name 'notf' from 'tensorboard.compat' (/Users/x/miniforge3/lib/python3.9/site-packages/tensorboard/compat/__init__.py)
...
File "/Users/x/miniforge3/lib/python3.9/site-packages/tensorflow/python/keras/_impl/keras/engine/base_layer.py", line 41, in
InputSpec = tf_base_layers.InputSpec
AttributeError: partially initialized module 'tensorflow.python.layers.base' has no attribute 'InputSpec' (most likely due to a circular import)

Do you know if there's a tensorflow implementation of this without pytorch? Pytorch in general does not work well on M1 macOS.

tensorboard

@Arthur151 - I updated configs/image.yml to use save_visualization_on_img=False. I tried renderer='pytorch3d' and renderer='pyrender' and got the same error.
I added a lot of print statements and the bus error seems to come from this line in base_predictor.py: from utils.demo_utils import save_meshes, get_video_bn, Time_counter If I comment out the above, I don't get the bus error, I get this instead:

ImportError: cannot import name 'notf' from 'tensorboard.compat' (/Users/x/miniforge3/lib/python3.9/site-packages/tensorboard/compat/init.py)
...
File "/Users/x/miniforge3/lib/python3.9/site-packages/tensorflow/python/keras/_impl/keras/engine/base_layer.py", line 41, in
InputSpec = tf_base_layers.InputSpec
AttributeError: partially initialized module 'tensorflow.python.layers.base' has no attribute 'InputSpec' (most likely due to a circular import)

I think that this error might brought by the installation of tensorboard. Please comment the tensorboard import & call lines to avoid this. Tensorboard is only used during training. It won't effect the inference process.
Sorry, I haven't found the tensorflow implementation of ROMP.

@Arthur151 I commented out tensorboard. I now get this error:
raise AssertionError("Torch not compiled with CUDA enabled")
I'm on a new MacBook M1 Max, so the GPU does not have CUDA support. I'm not interested in training the model, I just want to use image.py and video.py — is CUDA necessary for this?

To avoid the CUDA bug. please set GPUS: -1 in configs_ymls to run the code in cpu mode.

Sorry for the unpleasant experiments on Mac. I didn't expect that. My appologize.


An option to disable the default sorting of Alerts for a group of Alerts

Disabling the default sorting of Alerts in a group of Alerts would be helpful.
I saw old discussions in this repo about features like setting what label to use to sort the alerts and the chosen solution to sort alerts by their label values using job and instance as main labels (I can see the sorting code here).
But I think having the option to disable the default sorting would be good.
For example, my case is I have a Loki query configured as an alert and I already sort the result by values as I want. Still, alertmanager sorts the result by job, instance, and other labels, if we could disable the sorting the result would be the expected one.
That option could be enabled by default and disabling would be a configuration.
What do you think?
Thanks for your time.

Hi! 👋 How would you want Alertmanager to sort alerts in such case? Lexicographically by labels?

By number values, it’s a query of erros counting and the those values are numbers (integers, I think).
I already sort the query result by those count values on “Loki side”, so having no sorting in alertmanager side would make sense for that type of cases.

Hi! 👋 I'm not sure what you mean by number values? Alerts in Alertmanager are basically a set of labels, annotations, a start time and an end time. That's the full set of data we can sort with, so we could sort newest alerts first as an alternative, for example.

Sorry, I used the wrong terms.
There is a value associated with the alert, no? Not at the alertmanager side, but related to the query we use to fire an alert.
Like, in a query that triggers an alert when DB CPU usage is above 80%, we would have a value associated to the alert that could be 95% and we can show it in the alert description. I know that value itself does not go to alertmanager side, but the Alerts in an alert group go in a certain order depending on the query executed, right?!
So would be possible to keep the original order that alerts go to alert manage would be helpful without sorting them when they are on alertmanager.
Let me know if I'm wrong in the way I understand the alertmanager behavior (probably I'm).
Again, Thanks for you time.

There is a value associated with the alert, no?

It's not a strict requirement from Alertmanager. But as mentioned, alerts that come from Prometheus need a query that has evaluates some kind of value.

I know that value itself does not go to alertmanager side, but the Alerts in an alert group go in a certain order depending on the query executed, right?!

I'm afraid that's not the case. Alerts in Alertmanger are not ordered, and Prometheus does not send them in a deterministic order. In addition, alerts can come from multiple Prometheus servers at the same time (even in the same groups).

There is a value associated with the alert, no?

It's not a strict requirement from Alertmanager. But as mentioned, alerts that come from Prometheus need a query that returns some kind of value.

I know that value itself does not go to alertmanager side, but the Alerts in an alert group go in a certain order depending on the query executed, right?!

I'm afraid that's not the case. Alerts in Alertmanger are not ordered, and Prometheus does not send them in a deterministic order. In addition, alerts can come from multiple Prometheus servers at the same time (even in the same groups).

Yeah, you're right. In my case I was using Loki queries, so I'm able to sort the results.

I'm afraid that's not the case. Alerts in Alertmanger are not ordered, and Prometheus does not send them in a deterministic order. In addition, alerts can come from multiple Prometheus servers at the same time (even in the same groups).

But now I understand the implications of this request and how unviable it is.
I'm gonna close this "issue" request.
I appreciate your time and answers.


ispc: Add aarch64-linux and aarch64-darwin platforms

According to https://ispc.github.io/ispc.html#selecting-the-compilation-target, aarch64 is supported.
Description of changes

Added aarch64-linux and aarch64-darwin platforms as targets for ispc. These are supported according to the documentation. I don't actually have access to an aarch64 platform right now, so I haven't been able to test the changes.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Rebase on master

The error is due to the derivation always using the sse2 backend for its tests, which is obviously not going to work on ARM.  We should use a different backend on ARM.  Maybe this line should be made conditional on the architecture.

I've updated the PR with a conditional on testedTargets. Let's see if that works...

Looks like it works!


Publish APK on Github?

Would you mind publishing the APK here at Github, preferably under releases/ (see Creating Releases for details on how easy that is)? This would give users without Playstore access to your app as well :)
Thanks in advance!

@Ronak-LM ^^?? No answer means "abandoned"?

@Ronak-LM any chance for a clear statement?

Yes, the project is not maintained. I've shifted my focus to backend development and hybrid apps. This was just a hobby project. Feel free to fork the repo and use it anyway you wish.

Thanks for your reply, @Ronak-LM – that's a real pity. Hopefully nothing breaks. App still runs smooth and snappy, really like it. It's also available in my F-Droid compatible repo; I've just updated the description pointing out the EOL (linking here; change goes live with the next sync in about 12 hours). I'm not an Android dev – so me forking it wouldn't help unfortunately. But if someone else wants to pick it up, it's good to know!
Just wondering: there were some commits after the last release. Would you mind building a "final version"? Us "privacy folks" would especially welcome that for 6850f1e :wink:
Meanwhile, all the best for your current and future projects!

Thanks. I lost some interest after Play Store banned my app for using movie cover images. Some copyright issue. I might be building a version of this in React and React Native soon. Will put it up on GitHub...

No such issues to be expected with my repo (well, if a copyright owner complains I might need to take action if proof is presented, but would then consult with you first if I get the time granted for that – and I'd remove apps if they suddenly introduced "risky things" like a bunch of trackers or something that triggers more than 4 malware scanners, for example; but always I'd be as fast re-establishing the listing as soon as the issues are solved).
So if your app being listed in my repo motivates you to pick up again, that would be great! New versions tagged with an APK attached would automatically show up in my repo within 24h. If you switch repos for some reason, ping me here to let me know where to pick up.
Oh, and if on the rewrite you'd leave out all proprietary components (like GA and GMS, which are currently in) and would like your app going to the official F-Droid repo, I gladly assist you with that as well.


Automation to automatically merge back

We have existing, better documented issues for this. Closing as stale.


Fixes asset:precompile for Rails 3.1+ apps

Running rake assets:precompile in Rails versions prior to Rails 4 kicks off a separate rake task (rake assets:precompile:all) which spins up a new environment causing the original ember:compile task to be wasted. Rails 3.1+ needs to hook into rake assets:precompile:all so it fires the ember build command in the real precompile step.

:+1: This helped me a ton. Thank you.

Merged in https://github.com/thoughtbot/ember-cli-rails/commit/b0b84e6d65a8009626b2ce8e437ed46706e6d304
Thanks!


Fix code formatting

IntelliJ IDEA auto code formatting applied over the project

@rultor merge

@rultor merge

@proshin-roman OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@proshin-roman Done! FYI, the full log is here (took me 2min)


Specific GID and TID cannot be displayed for MQ instance with namespace

BUG REPORT

Please describe the issue you observed:

What did you do (The steps to reproduce)?

What did you expect to see?

What did you see instead?

After Version 3.8, when troubleshooting using admin command like 'mqadmin consumerProgress' or 'mqadmin statsall', the specific topicID and groupID cannot be displayed for MQ instance with namespace, replaced by the ID of the MQ instance. However, the topic and group for MQ instance without namespace can be displayed normally.

Please tell us about your environment:

Other information (e.g. detailed explanation, logs, related issues, suggestions how to fix, etc):

It is confirmed that the topicID and groupID for MQ instance with namespace is too long to be truncated, so only the header part of topicID or groupID can be displayed.
{instanceId}%{topic}
e.g.  MQ_INST_138015630679****_BcZwWZ9k%Topic-test
Code involved: org.apache.rocketmq.tools.command.stats.StatsAllSubCommand#printTopicDetail
System.out.printf("%-32s  %-32s %12d %11.2f %11.2f %14d %14d%n",
                        UtilAll.frontStringAtLeast(topic, 32),
                        UtilAll.frontStringAtLeast(group, 32),
                        accumulate,
                        inTPS,
                        outTPS,
                        inMsgCntToday,
                        outMsgCntToday
                    );

Could you submit a PR to resolve it?


How to set the same title from recyclerview in player .?

Dear, First of all im thanking u so much for this awesome music player, u saved my time alot .
but i have a small doubt .
i have an arraylist of urls and titles. I am able to show the whole title in RecyclerView.
But,How can i show the selected title from recyclerview as the player header.

I am Expecting something like this.
## Option 3: Initialize an playlist with a custom title for all
  ArrayList<String> urls = new ArrayList<>();
   urls.add("http://www.example.com.br/android/Music_01.mp3");
   urls.add("http://www.example.com.br/android/Music_02.mp3");

ArrayList<String> titles = new ArrayList<>();
   titles.add("ABC Song");
   titles.add("BCD Song");

   jcplayerView.initWithTitlePlaylist(urls, titles);

OR
Is their any way to get the current position , So that i can set the title by calling titles.get(position)
ArrayList<String> urls = new ArrayList<>();
  urls.add("http://www.example.com.br/android/Music_01.mp3");
  urls.add("http://www.example.com.br/android/Music_02.mp3");

ArrayList<String> titles = new ArrayList<>();
 titles.add("ABC Song");
 titles.add("BCD Song");

  jcplayerView.initWithTitlePlaylist(urls, titles.get(position);

Hello friend :D
You can use a List of JcAudio objects. For example:
List<JcAudio> audios  = new ArrayList<>();
audios.add(new JcAudio("http://www.example.com.br/Music_01.mp3", "My title 1"));
audios.add(new JcAudio("http://www.example.com.br/Music_02.mp3", "My title 2"));

player.initPlaylist(audios);

So, you implement your onClick function parsing a JcAudio with parameter and play it:
public void onClick(JcAudio jcAudio){
    player.playAudio(jcAudio);
}


[Bazel CI] Bazel build fails with "no such attribute 'exec_tools' in 'genrule' rule" on x86_64

CI: https://buildkite.com/bazel/bazel-at-head-plus-disabled/builds/2004#018eb729-4657-4033-b740-d140f90789ba
Platform: Ubuntu
Logs:
ERROR: /var/lib/buildkite-agent/.cache/bazel/_bazel_buildkite-agent/4fb9d7987f8ae1a75d16107452f22764/external/com_google_protobuf/src/google/protobuf/compiler/BUILD.bazel:140:13: @@com_google_protobuf//src/google/protobuf/compiler:protoc_aarch64_test_genrule: no such attribute 'exec_tools' in 'genrule' rule (did you mean 'executable'?)
ERROR: /var/lib/buildkite-agent/.cache/bazel/_bazel_buildkite-agent/4fb9d7987f8ae1a75d16107452f22764/external/com_google_protobuf/src/google/protobuf/compiler/BUILD.bazel:145:12: @@com_google_protobuf//src/google/protobuf/compiler:protoc_x86_64_test_genrule: no such attribute 'exec_tools' in 'genrule' rule (did you mean 'executable'?)
ERROR: /var/lib/buildkite-agent/.cache/bazel/_bazel_buildkite-agent/4fb9d7987f8ae1a75d16107452f22764/external/com_google_protobuf/src/google/protobuf/compiler/BUILD.bazel:27:11: Cannot compute config conditions
ERROR: /var/lib/buildkite-agent/.cache/bazel/_bazel_buildkite-agent/4fb9d7987f8ae1a75d16107452f22764/external/com_google_protobuf/BUILD.bazel:275:11: Target '@@com_google_protobuf//src/google/protobuf/compiler:importer' contains an error and its package is in error and referenced by '@@com_google_protobuf//:protobuf'
ERROR: Analysis of target '//test/integration:typed_metadata_integration_test' failed; build aborted: Analysis failed

Culprit:
Steps:
git clone https://github.com/envoyproxy/envoy
git reset 56b19101483c5d3dc37aaf72b43b7acc9bc24f44  --hard
export USE_BAZEL_VERSION=3f9d80c35d88a280c2d53682f3d201b4733a3fff
bazel test  //test/common/common/... //test/integration/... //test/exe/...

CC Greenteam @meteorcloudy

CC @alyssawilk

@sgowroji i think the bazel version you are using no longer accepts exec_tools - these need to be updated to exec iirc
i think we have already fixed these in Envoy - certainly there are none in the repo when grepping - so wondering where this is coming from

ah - in protobuf i think - my guess is that we will need to update protobuf before we can update bazel (amongst many other things)

Not stale


Significant performance reduction in dart analyser since 1.23.0

Since dart sdk 1.23.0, analyzer performance has degraded significantly. Analysis during typing prior to 1.23.0 was nearly instantaneous; now simple edits can lock the analyzer for nearly 30 seconds, rendering refactoring, intellisense, autocomplete and syntax highlighting non-functional. First-time analysis (e.g. on opening IntelliJ) is now also much slower than in 1.22.x; in 1.23.x first-time analysis took nearly 60 seconds, although this appears to have improved somewhat in 1.24.x.
It's hard to provide a testable example because, of course, on tiny test snippets, performance remains sufficiently fast that degradation is not apparent. I would be happy to submit log files to demonstrate the problem - I just need direction on how to collect those.
This is on arch linux, fully patched, Intel core i5 with 16 Gb RAM, running off an SSD. Analyzer performance was so fast as to be mostly unnoticeable on 1.22.x and prior. The IDE in use is IntelliJ IDEA 2017.1.4 with Dart plugin 171.4694.29.

Thanks for the feedback! We do have the analysis server under benchmark, so ae a bit surprised to hear about performance reductions.

I would be happy to submit log files to demonstrate the problem - I just need direction on how to collect those.

Some performance numbers for your projects would be helpful here. Specifically, cold start and warm start numbers would help. If you run pub global activate tuneup, you'll have a tool that can drive the analysis server from the command line. If you run tuneup --dart-sdk <path/to/sdk/version> check, you'll get the startup performance numbers for the analysis server. We cache our analysis on disk for unchanged files, so to get good numbers, you'll need to delete the cache when comparing sdk versions.
I would delete ~/.dartServer/.analysis-driver/, run tuneup w/ a copy of the sdk, and then re-run the same command. That will get you cold start and warm start numbers for that sdk version.

Sorry for the delay in replying. Thank you for the detailed instructions; here are the results.
Using sdk 1.24.2:
First run of tuneup, after clearing out ~/.dartServer/.analysis-driver/ (i.e. cold start):
15,356 issues found; analyzed 2,083 source files in 351.2s.
(I'm not sure why the number of issues reported is so high; the IDE shows only nine errors and a number of hints and TODOs. Best guess is that some obsolete code excluded from analysis in the IDE is being included in analysis run from the command line.)
Second run of tuneup (i.e. warm start):
15,356 issues found; analyzed 2,083 source files in 3.7s.
For comparison's sake, here are the numbers run against sdk 1.23:
First run of tuneup, after clearing out ~/.dartServer/.analysis-driver/ (i.e. cold start):
15,949 issues found; analyzed 2,083 source files in 20.1s.
Second run of tuneup (i.e. warm start):
15,949 issues found; analyzed 2,083 source files in 2.9s.

Best guess is that some obsolete code excluded from analysis in the IDE is being included in analysis run from the command line.

There are at least two ways of excluding code from analysis in the IDE. The only one that works with the command-line analyzer is to use the analysis options file to exclude files.

Or, rather, it ought to work for the command-line analyzer. I forgot that we currently have a bug (#26212).

Unless it is likely to make a difference with the analysis server performance, or affect these benchmarks, I'm not too worried about excluding the code from the command line. I was just interested in why the number of issues flagged was so high when the report in the IDE doesn't reflect that.

(The disk seems to be being hit pretty hard during analysis generally, and cold start specifically. Under 1.24.2, 3879 files are created in ~/.dartServer/.dart-analysis, and the disk shows 100% activity for the entire analysis duration. Normally I would run IDE, source code and dart tools all off separate disks, but at the moment code and dart tools are running off the same disk due to #27828.
Note to self: check to make sure another process like tracker-miner isn't being stupid and trying to index these files as they're being created by dart-analyzer.)

(Reran tuneup under sdk 1.24.2 with tracker disabled. Cold result was 0.5s slower, warm result 0.1s faster - essentially, no significant difference.)

@ajrcarey, thanks much for putting these numbers together! We'll take a look at why the cold start for 1.24.2 is so much slower.
15,356 is a lot of issues - it may be worth determining how to address those (some config issue?), since that may be skewing the results.

What do you mean when you say "a single keystroke can lock the analyzer for upwards of 10 or 15 seconds"? I want to understand what means "lock". Is your IDE still responsive? Can you type text and see there characters appear on the screen in timely manner?
I would expect some I/O to happen during cold analysis using Analysis Server (by your IDE) or tuneup - we store parsing results, linked summaries, and errors in the cache on the file system. We also try to read these results from the file system, during both cold and hot analysis. Although reading should be less expansive - we use in-memory cache, so read each cache entry only once. I also use SSD, and I/O is never a problem.

That's a fair question. The IDE itself remains perfectly responsive to user input. By "lock" I am referring to the analysis server: everything involving dart analysis is unresponsive, including syntax highlighting, autocomplete, error highlighting, and the ability to refactor (in that case the IDE does lock because it spins while waiting for dart-analyzer so it can show the dialog relevant to the refactoring operation requested). So I'd describe the IDE as responsive, but basically useless.
"Some I/O" is perfectly fine, but I'm seeing here disk pegged to 100% and system load average going from ~0 to ~2.2 whenever the analyzer is invoked, which is basically constantly when the IDE is in use. Once the analyzer is done, disks go to idle and system load reduces back to zero.

OK, it seems that something very bad happens with your project and Analysis Server.
If we could reproduce this situation, I'm sure we would be able to fix it.
Alternatively we could start with running Analysis Server with Observatory profiling. See this document how to change dart.server.vm.options. Set it to --observe --max_profile_depth=256 --collect_code=false --code_comments=true --old_gen_growth_rate=2800 and restart the server. The open <IP_ADDRESS>:8181 and see the (server.dart$main) isolate. I think that the cpu profile (table) is most useful now. So, open it, see if there is something interesting and send screenshots, or PDFs, whatever is more convenient for you.

Sure. Here are two screen grabs.

Thanks.
Unfortunately these screenshots don't tell us much.
There was some work performed, but not too much.
And the fact that CompileUnoptimized has so high percentage implies that this performance information is shortly after restarting Analysis Server, not after performance problems.
Also, there is one, as I thought obvious, comment. Performance analysis is iterative, exploratory process - you sort by the Stack column and look methods with high Stack times, then on their Callees and Callers, trying to understand where these methods spend time, and why they are called.
I wish there were a way to grab full CPU profile information so that I could slice and dice it locally, but unfortunately there isn't. So, you would need to use your judgement to perform this research.

Alright. Here are some more screen grabs, CPU profile table sorted by stack %, on the same VM after running for about 7 hours without a restart.

I'm not really sure what I'm meant to be looking for here. My observation is that file I/O seems to be the problem, so I'm looking for functions that suggest some sort of file access. There are a few once we get down to about 15%: LibraryAnalyzer._resolveFile, EvictingFileByteStore.put, FileByteStore.put, and _File.writeAsBytesSync. But I have no idea if these numbers are problematic or not. I am guessing "execution" refers to CPU time, not real time; it would be good to be able to get at the real time somehow, if that's possible.

Yes, it seems that number of cache writes, i.e. MemoryCachingByteStore.put (which calls EvictingFileByteStore.put and FileByteStore.put), is quite high. So, it probably indicates that we analyze and store analysis results for a lot of files.
But there are also other surprising results. Using 22% for Object._as, most probably from InterfaceTypeImpl.element is hard to explain (from where is InterfaceTypeImpl.element called?). I cannot explain almost 30% for LibraryAnalyzer._computeVerifyErrors, 21% for LibraryAnalyzer._computeHints and 12% for UsedLocalElements.merge. Is it because of extremely deep class hierarchies? Or because of libraries for lots of parts?
I'm sorry to say so, but while this profile information provides some insides, it turned out that it is not enough for me to identify and solve the problem. Is these a chance for me to get your project to be able to profile and analyze locally? Of course it will not go anywhere from me, I will remove it once I'm done, etc.

Some drive by comments:

I cannot explain almost 30% for LibraryAnalyzer._computeVerifyErrors, 21% for LibraryAnalyzer._computeHints

@ajrcarey, perhaps related to the large number of issues reported?

I wish there were a way to grab full CPU profile information so that I could slice and dice it locally, but unfortunately there isn't.

@a-siva, @B3rn475 - food for thought, we may want a way to save and load performance profiles.

@devoncarew I filed #30067 for saving/restoring CPU profiles. Lets make this happen - otherwise remote performance troubleshooting is way to hard.

@devoncarew Unless I'm misunderstanding how the dart-plugin in IntelliJ works, the high number of issues reported by dart-analyzer from the command-line should not be relevant here as those issues are (I believe) mostly spurious; they are likely being generated through analysis of obsolete code that is excluded from analysis in the IDE but not when running dart-analyzer from the command line. The number of errors reported in the IDE is single figures. The data from the VM observatory comes from the IDE dart-analyzer session, not a command-line dart-analyzer session.
@scheglov I have looked at the VM observatory again after another 8-hour-or-so session with IntelliJ on the same code base. Last time, I was working on one specific area of the code; this time, my session was wider-ranging, touching a variety of files across the code base. Object._as and InterfaceTypeImlp.element have both disappeared from the top of the cpu profile list, but the caching functions are still present. My instinct is that the problem lies there, specifically in FileByteStore.put; not because the function is doing anything wrong, necessarily, but just because of the sheer number of times it's being called. (I see from the source that FileByteStore.put is synchronous and does not return until its buffer is flushed to disk; I wonder what the performance impact would be if it were either asynchronous or did not wait for its buffer to flush but returned immediately. There may be reasons, of course, why it can't do those things, but the code as written looks like it might be performance blocking if it's called too frequently.)

Yes, it would be possible to share the code for this project, if necessary. I prefer the idea of being able to dump observatory metrics to an export file for remote analysis.
Answering your general questions about the source project: the project is composed of lots of small base libraries that are imported and consumed en masse by classes further up the hierarchy. I would not have thought the depth of the class hierarchy was too extreme. I prefer to compose classes rather than build inheritance hierarchies, so mixins are used widely; if I had to guess at one behaviour present in this code base that might be less likely to appear elsewhere, it would be pervasive use of mixins. (Dart's support for mixins and class composition was one of the main reasons I selected it for this project over Java.)

Yes, I think you're right and at least significant part of the problem is flushing.
This would very well explain the I/O load you observe.
We added flushing after performing performance measurement and profiling locally on Mac and Ubuntu, and it did not cause such significant slowdown. But maybe it is more expensive on other OS.
We were trying to solve the problem with truncated files, sometimes we were getting existing, but zero-length files as compilation results. We need to find another solution. I will remove flushing for now.

The change to remove flushing has been landed.
Please download a new bleeding edge build in a couple of hours.
I usually download this.

Yes, that's made a big difference. There's still disk activity but it's much reduced - especially during startup / full analysis - and incremental analysis while typing is much snappier. System load never exceeds 0.8. Getting syntax highlighting to pop in on switching tabs takes less an a second now. It's still slower than 1.22, but much better than 1.23. I can certainly live with this.  Thank you!
(For reference, I am running on arch, linux kernel 4.11.7, with OS and IntelliJ running off SSD and dart and source on a separate HD. I used to run Ubuntu but got annoyed with the upgrade cycle so switched to arch about a year ago.)

OK, good to know that it helped.


Functions: LOOKUP and REFERENCE

[ ] ADDRESS
[ ] AREAS
[x] CHOOSE
[ ] CHOOSECOLS
[ ] CHOOSEROWS
[x] COLUMN
[x] COLUMNS
[ ] DROP
[ ] EXPAND
[ ] FILTER
[ ] FORMULATEXT
[ ] GETPIVOTDATA
[x] HLOOKUP
[ ] HSTACK
[ ] HYPERLINK
[ ] IMAGE
[x] INDEX
[x] INDIRECT
[x] LOOKUP
[x] MATCH
[x] OFFSET
[x] ROW
[ ] ROWS
[ ] RTD
[ ] SORT
[ ] SORTBY
[ ] TAKE
[ ] TOCOL
[ ] TOROW
[ ] TRANSPOSE
[ ] UNIQUE
[x] VLOOKUP
[ ] VSTACK
[ ] WRAPCOLS
[ ] WRAPROWS
[x] XLOOKUP
[ ] XMATCH

I wonder if we could do better than the HLOOKUP/VLOOKUP API. It always seemed painful, like it was designed to sell copies of Access. In particular, once someone has a dataset laid out such that these functions can work on it, it would be nice to treat that as a first-class concept instead of relying on the user(s) to maintain the ordering, etc.

I wonder if we could do better than the HLOOKUP/VLOOKUP API. It always seemed painful, like it was designed to sell copies of Access. In particular, once someone has a dataset laid out such that these functions can work on it, it would be nice to treat that as a first-class concept instead of relying on the user(s) to maintain the ordering, etc.

+1. Expecting users to maintain the order of data (to reduce algorithm complexity?) is quite absurd. Furthermore, Excel's VLOOKUP uses the third parameter for approximate matching rather than indicating whether the data is ordered, which also undermines compatibility.

Hi both,
You are not wrong, but for version 1.0 we are committed to Excel compatibility. The reason is very practical, it will drive adoption.
Once we reach a level of parity and compatibility with Excel we can start thinking about developing other sorts of spreadsheets that are not so error prone. I think if we reach a solid foundation everything is possible. we could build a spreadsheet engine with strict types and functions that are adapted to the times.  I think we would need to go back to the drawing board.
That doesn't mean we can't start thinking about it today. One thing that is on my mind is that we could have different "features" compilation. One would be "Excel compatibility" another one would be "strict" . Would that imply only functions or also features like operations, maybe in strict mode 1+"1" would be an error


Is this intended to work with clangd or just libclang?

I'm trying to use ycm (in vim) with clangd (not libclang), and I'm trying to use this project to generate my compile_commands.json file for me. Specifically, I'm trying to use this as a vim plugin that uses bazel aspects to automatically generate the compile_commands for clangd.
I cannot get this to work. Before I spend more time debugging this, is this intended to work with clangd too?

I have never tested with clangd explicitly.

Thanks.
I think clangd needs an explicit compile_commands.json file. So I also tried to use the generate.sh script to generate one, and that did not work. Here's the error I got when using the bazel build from the cctz project [a fairly simple bazel build]).
$ git clone git@github.com:devjgm/cctz cctz
[ ... ]
$ cd cctz
$ ~/.vim/bundle/bazel-compilation-database/generate.sh
[...]
ERROR: Label '//home/jgm/.vim/bundle/bazel-compilation-database:aspects.bzl' is invalid because 'home/jgm/.vim/bundle/bazel-compilation-database' is not a package; perhaps you meant to put the colon here: '//:home/jgm/.vim/bundle/bazel-compilation-database/aspects.bzl'?
ERROR: Analysis of aspect '//home/jgm/.vim/bundle/bazel-compilation-database:aspects.bzl%compilation_database_aspect of //:time_zone_lookup_test' failed; build aborted: Label '//home/jgm/.vim/bundle/bazel-compilation-database:aspects.bzl' is invalid because 'home/jgm/.vim/bundle/bazel-compilation-database' is not a package; perhaps you meant to put the colon here: '//:home/jgm/.vim/bundle/bazel-compilation-database/aspects.bzl'?
INFO: Elapsed time: 0.362s
INFO: 0 processes.
$

I'm using bazel 1.0.0.
Any thoughts? Should that use of generate.sh work?

Thank you for reporting this issue. The current generate.sh was written sometime ago and was not using some newer bazel features, hence it had limitations that it needed to be used when the file itself is present in the repo.
I have now made some code changes and also improved the documentation. Getting the latest version will make your command work.
Fixed by 6347f8b21c9a6c76367b63b3e689a8cd16a48340.


⚠ wiki.minetest.net has degraded performance

In 4cc50df, wiki.minetest.net (https://wiki.minetest.net/Main_Page) experienced degraded performance:

HTTP code: 200
Response time: 6713 ms

Resolved: wiki.minetest.net performance has improved in 2c5eb20 after 30 minutes.


Code scrolling slow in alpha version

3.2 alpha 2e065d8ad
Windows 10
I hope this is the right place to ask questions about the beta and alpha build.  If not please direct me to the right spot.
I have a game with 25k lines of code.  Every time I open it in the alpha build, it takes 5 times as long to load and once loaded it will freeze a lot while scrolling through code or switching from one func to another another.
Are there any particular new settings in the editor that I can turn off to see if it will speed up?

Are you using custom build or a nightly one? This might be the same case as #32195
If it's not, code minimap might be the culprit.

Assuming it is a nightly from https://hugo.pro/projects/godot-builds/
I will check if minimap is the problem

After disabling code minimap, I still get the tremendous slow down.  I notice also that if I hover over a function name in the "function names" window, godot will freeze for 5 seconds and then the hover text will appear.  In v3.1, hovering over a function in the "function names" will almost instantly cause the hover text to pop up.
If I load a project that has 300 lines of code, everything is fast again.

here are 2 videos comparing the slow down.  Same big project opened in 3.1 and latest nightly 3.2
The first video I hover over the function list in 3.1 and the hint dialog pops up almost immediately.  The second video freezes completely and stalls for a long time before the hint dialog pops up.
Everything is painstakingly slower while editing as well as navigating menus.  Every few letters of code typed and godot freeze for a little bit.
2 Videos.zip

from the post and video I provided above, are there any ideas as to what else I could disable or what the major bog down could be?  I just downloaded the latest alpha today and it has the same proglem

Wild hunch, try changing values in Editor settings->Low Processors Mode Sleep Usec and Unfocused. I'm only saying that because it is new for 3.2 and could possibly be e.g. thinking it was unfocused incorrectly. Worth ruling out anyway.
Also we fixed something in the polling of gdscript language server just a couple of days ago (where it was polling far too frequently) in latest master, so it is possible that this may have been affecting things (especially if it was polling 25,000 lines of code too frequently). So do try latest nightly build again to compare.
If you can run task manager and let us know what percentage of CPU godot is using in both 3.1 and 3.2 that might be helpful info, and even better if you could would be to profile it but you may not be familiar with doing this.

I will try the newest.  Any suggestions on a number to set Low Processors Mode Sleep Usec and Unfocused to?

@ondesic I think most of the slowdown was coming from the LSP polling. The "Low Processors Mode Sleep Usec" setting forces the editor to sleep at least this many microseconds before rendering another frame. The default value (6900) effectively caps the editor to 144 FPS (but note that V-Sync, which is enabled by default, will likely cap it below). Higher values will result in a lower FPS.

When I open the project in 3.1 the CPU usage is 3% almost always.
When I open the same project in the latest nightly, while losing, anytime I click on a menu, click on code, or hover over the fuction names, the CPU jumps to 24%

And just to clarify, when you say 25k lines of code, is this gdscript?

Yes, all GDscript

Any more ideas I can test?

I just procedurally created a gdscript file that was 20k lines long for a test. It was a little bit slower but still quite usable.
However when I turned on minimap it was quite a bit slower (I have that turned off as I don't use it). But 20k lines in one file might be worse case for the minimap.
There may be something that is going on in your particular project which is causing the slowdown.
If you really want to track it down, short of putting your 25K project available for download, you would probably need to compile Godot from source (or have a version with symbols inside for the profiler), then run it with a profiler to try and detect the bottlenecks.
I've used 'very sleepy' in the past (http://www.codersnotes.com/sleepy/) on windows but most any profiler should do. You would want to turn the profiler on just for the period where you were messing around in the files and getting these slowdowns. The profiler will tell you the exact functions and lines of code which are taking up the most time.
To clarify when I mentioned a change you should be using a build after, it is this commit:
#32714

This is a profile of my build with a 100K line of code gdscript file, for reference. It may be something else that is bottlenecking your case.

I know next to nothing about the gdscript parsing etc, so can only look for spikes on the profile. Nothing is jumping out at me as taking 'all the time', although there is probably room for lots of optimization for just moving around the file.
CowData resizing is generally a problem, probably in vectors, although there was a consensus to add a new more traditional vector on #irc shortly before GodotCon, which should help alleviate this kind of bottleneck.
Generally it seems to be doing an awful lot of allocating / deallocating for just moving around a file, whether that is the parser or the display code I don't know. Certainly the TextEdit itself may not be great with such big files.
Of course the other question is, is this 25K loc file actually game code? Or data? If it is data you may be better off loading it manually from a separate file. And could you separate this code into several files rather than trying to do it all in one?

Perhaps I can dabble in building and profiling Godot.
In the meantime here is what I have found:

I first thought it was the "minimap".  However, 3.1 has the "minimap" and I have tested to.  In 3.1 there is no difference with the speed.
If I open my project in 3.2, it takes 5x as long to load compared to 3.1.
Once loaded, the 3.2 editor is super slow until I close the 25k script.  The speed for 3.2 goes back to normal when small scripts are opened.
Most importantly, the speed slowdown seems to be completely isolated to 3.2.  The 3.1 editor has no speed problems working with the 25k lines of code.

Is there an archive of the nightlies?  Perhaps I can go back and test them through time and see when the slowdown first started?

Is there an archive of the nightlies?

Unfortunately, I don't have space to store all the nightly builds, so you'll have to build commits manually to test them. Luckily, you can use git-bisect to efficiently test commits between a range (here, 3.1.1-stable..master). This means you won't have to build and test all commits, only a subset of them.

I first thought it was the "minimap". However, 3.1 has the "minimap" and I have tested to. In 3.1 there is no difference with the speed.

3.1 doesn't have the minimal, it was merged in August (#31302).
You can try to disable it, there's a setting for it.

I have turned it off in 3.2 with no luck in solving the problem

Thank you so much for leading me in the right direction.  I am now Git bisecting and am narrowing it down.  I'll let you now what I find

Been testing all day and last night.  Every build before commit a6562cd0048f1dadb3c1ab2f8583e21251634365 is super fast with my huge code.  Here is where the problem started:
`commit a6562cd0048f1dadb3c1ab2f8583e21251634365
Date:   Sat Apr 20 12:51:25 2019 +0100
Display connection information in the script editor

editor/code_editor.cpp                  |   1 +
editor/editor_settings.cpp              |   1 +
editor/plugins/script_editor_plugin.cpp |  12 +++
editor/plugins/script_editor_plugin.h   |   1 +
editor/plugins/script_text_editor.cpp   | 165 +++++++++++++++++++++++++++++++-
editor/plugins/script_text_editor.h     |  24 +++++
scene/gui/text_edit.cpp                 | 126 +++++++++++++++++++++---
scene/gui/text_edit.h                   |  21 ++++
8 files changed, 335 insertions(+), 16 deletions(-)`

@ondesic Thanks for bisecting your way to the regression! This is going to be very helpful :heart:

GREAT JOB!!
So much faster!!!


Repo sync for protected CLA branch

The pull request is created from main637927250802918354 to main to fix git push error for protected CLA branch

#assign: @corob-msft
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


CB-12559 add default client configuration for cloudwatchclient

See detailed description in the commit message.

@sodre90 can you please summarize in the commit what this missing line caused ?

@sodre90 can you please summarize in the commit what this missing line caused ?

I added the error message to the description


The favicon is broken in Firefox when not allowing access to canvas image data

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
The favicon is broken in Firefox when not allowing access to canvas image data.
👟 Reproduction steps
Enable fingerprinting resistance (privacy.resistFingerprinting) in Firefox.
👀 Expected behavior
A favicon to be shown.
😓 Actual Behavior
No favicon, not even one without a badge.
🐻 Uptime-Kuma Version
1.22.1
💻 Operating System and Arch
Debian GNU/Linux 11
🌐 Browser
Firefox
🐋 Docker Version
No response
🟩 NodeJS Version
No response
📝 Relevant log output
No response

The issue appears to be caused by an external package we use to generate the badges for the favicons called Favico. It appears to be this line that causes the issue:
https://github.com/ejci/favico.js/blob/6a3f430be559f93d96573e2a4a0116e154c11319/favico.js#L537
 var url = canvas.toDataURL('image/png');

It looks like this reads the data in the canvas (which is prevented by firefox) and writes it back to the favicon (it writes blank because firefox blocked the read). This behaviour looks similar to a bug I saw for firefox when looking into this which said a similar thing except with the QR code for web.whatsapp.com (https://bugzilla.mozilla.org/show_bug.cgi?id=1446472)

Given that the last update to that package was in 2016, I don't think we will get too far with getting this issue fixed there. We might be able to roll our own version of it with the fix though. I will have a bit of a play around with it and see if I can get anything working at all.

According to https://support.mozilla.org/en-US/kb/firefox-protection-against-fingerprinting

It is likely that it may degrade your Web experience

I think it is the case. You have to accept that someone may be broken in this mode. And it is not a web standard, nothing we can do here.
Since Uptime Kuma is a selfhosted and open source. You can always check the source code to see if Uptime Kuma really track you down via canvas. If possible, it should be safe to add your Uptime Kuma to the whitelist.

I think it should be possible to handle this in Uptime Kuma

How do you think this can be done?
The issue is that reading the canvas element is blocked. I don't see a way to get around that.
We have a dynamic favicon and I don't think this should change..
I think solving this issue is fundamentally impossible while retaining the dynamic favicon
=> closing as wontfix. We can reopen if somebody comes up with a way to retain this functionality even in this submode of firefox.
In the meantime firefox has implemented a different method:

changes the behavior when detecting a canvas extraction without
user interaction. It will show a canvas identity block icon with a
hidden doorhanger when auto-blocking the canvas extraction. Users can
make their choice to either block or allow the canvas extraction by
clicking the identity block icon and then refresh the page to make
the canvas permission taking effect.


Support for sensitivity for rules in Application Gateway WAF

Preconditions

[X] No need to upgrade Python SDK or the Python SDK is ready.

Related command
No response
Resource Provider
Network (NRP)
Description of Feature or Work Requested
Support for sensitivity in Application gateway WAF rules. We are adding sensitivity to rule and Rule override structures as per the below swagger PR.
https://github.com/Azure/azure-rest-api-specs/pull/29855/files
Corresponding  NRP PR:
https://msazure.visualstudio.com/One/_git/Networking-nrp/pullrequest/8483554
Minimum API Version Required
2024-03-01
Swagger PR link / SDK link
https://github.com/Azure/azure-rest-api-specs/pull/29855
Request Example
No response
Target Date
2024-08-30
PM Contact
<EMAIL_ADDRESS>Engineer Contact
<EMAIL_ADDRESS>Additional context
No response

Thank you for opening this issue, we will look into it.

Hello @Yonzhan, @necusjz. The Swagger and Powershell changes for this feature have been merged. We require Azure CLI support for public preview. Can you please take a look ?


An error such as node: No such file or directory

I am using terminal and iterm.
Every time you run iterm, i get an env: node: No such file or directoryerror.
The path setting in open ~ / .zshrc seems to be wrong.
How do I set the node path?

export PATH=$PATH:/usr/local/bin/node
in your .zshrc


Refactoring to query scheduler to support priority based scheduling

Moved code to create query result future and to serialize responses from
ScheduledRequestHandler to QueryScheduler. This is preparation for supporting
priority based scheduling that will put queries on internal queues before scheduling
requests.

Codecov Report

Merging #1597 into master will decrease coverage by 8.82%.
The diff coverage is 40%.

@@            Coverage Diff             @@
##           master    #1597      +/-   ##
==========================================
- Coverage   68.17%   59.35%   -8.83%
==========================================
  Files         818      818
  Lines       39574    39587      +13
  Branches     5183     5183
==========================================
- Hits        26980    23495    -3485
- Misses      10835    14413    +3578
+ Partials     1759     1679      -80

Impacted Files
Coverage Δ

...m/linkedin/pinot/server/starter/ServerBuilder.java
57.4% <100%> (-1.86%)
:arrow_down:

...pinot/core/query/scheduler/FCFSQueryScheduler.java
30% <16.66%> (-70%)
:arrow_down:

...ot/core/query/scheduler/QuerySchedulerFactory.java
31.57% <33.33%> (ø)
:arrow_up:

...din/pinot/core/query/scheduler/QueryScheduler.java
55.35% <37.83%> (-35.12%)
:arrow_down:

.../pinot/server/request/ScheduledRequestHandler.java
88.23% <62.5%> (+0.51%)
:arrow_up:

...selection/iterator/IntSelectionColumnIterator.java
0% <0%> (-100%)
:arrow_down:

...ection/iterator/DoubleSelectionColumnIterator.java
0% <0%> (-100%)
:arrow_down:

.../java/com/linkedin/pinot/minion/MinionContext.java
0% <0%> (-100%)
:arrow_down:

...lection/iterator/FloatSelectionColumnIterator.java
0% <0%> (-100%)
:arrow_down:

...nkedin/pinot/minion/executor/BaseTaskExecutor.java
0% <0%> (-100%)
:arrow_down:

... and 245 more

Continue to review full report at Codecov.

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


[#15] Fixes unit test issues

Fixes https://github.com/google/earthenterprise/issues/15
This is a follow up to this PR: https://github.com/google/earthenterprise/pull/70

Confirm submission IAW CLA.

@andreisel I've implemented your suggested changes

It worked for me, if I ran ./RunAllTests.pl from <src/NATIVE-OPT-x86_64/bin/tests>, but not if I ran it from a different working directory.
I thought the point of using FindBin was to make it independent of the working directory.  @tst-ccamp , could we update RunAllTests.pl to change to the directory the script is located in, before running tests?
Optionally, it might be nice to get a warning if you try running <src/common/tests/RunAllTests.pl>, rather than from a build directory.

@tst-ppenev I added a check to detect when the script is run outside of the expected directory and print an error.  Take another look.

@tst-lsavoie: I'm rebuilding. I was thinking the script could cd into $scriptDir before running the tests, if necessary, but just a warning could be OK. At least, a new user wouldn't be confused about why the tests fail.

@tst-ppenev I tried it with the chdir command and I still got test failures.  Rather than try to debug it, I'm just leaving it as a warning.  I did add the regex, though.

@tst-lsavoie: You also need to replace the use of the $Bin variable with "." after the chdir. It seems to work for me.

@tst-ppenev I'm still getting failures.  If I run from src it works, but if I run from earth_enterprise (one directory above src) it fails.

@tst-ppenev figured it out and made the suggested changes.  Take another look.


Fix IP violation in Checkstyle

The merge queue build has started. Click here to see all failures if any.


need to specify namespace in istioctl commands in _docs/tasks/traffic-management/request-routing.md

I'm using version 0.2.9. I'm getting error when I don't specify default namespace.
~/istio-0.2.9$ istioctl create -f samples/bookinfo/kube/route-rule-all-v1.yaml
Error: an empty namespace may not be set during creation
Maybe this is a bug of istioctl?

@jasonwzm I think this has been fixed: https://github.com/istio/old_pilot_repo/pull/1499
Please try again using the latest istio (0.3.0).
btw, using kubectl create -f ... instead of istioctl should also work in 0.2.9.


Require documentation on how to procure a wild card certificate from letsencrypt

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:
/kind bug
kind feature

What happened:
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Kubernetes version (use kubectl version): 1.8.2
Cloud provider or hardware configuration**: Azure
Install tools:
Others:

Perhaps related: https://github.com/jetstack/cert-manager/issues/505

This is now described in the ACME DNS validation tutorial: https://cert-manager.readthedocs.io/en/latest/tutorials/acme/dns-validation.html


Migrate event files from download.01.org/perfmon

This pull request syncs all of the JSON event files from https://download.01.org/perfmon/ . Even for platforms that already existed in perfmon-metrics, additional files are synced to fully mirror https://download.01.org/perfmon/ JSON content.
https://github.com/intel/perfmon/issues/17

Merging to populate this repo with event files. Will request future reviews for more specific changes.


Does not work with equals simbol in custom tag parameter

These spaces between the equal symbols and the parameter broke my template.

fixed


The last version (10.2.1) lack lib directory by npm repository!

@nikku

@tony2y This is an absolute fine setup for a package. The package#json#exports field defines exports that will be used. For a long time we only published dist folder: https://github.com/nikku/didi/commit/71c38d49266e1fbf6e3399a80858b6492e7dc17c.

But now there is an issue that when using diagram js in the Vue project, executing npm run dev will result in errors。

@nikku

@tony2y The issue is that you use an unsupported and outdated node version. Node 18 is in maintainance, and the didi baseline is node >= 16. Upon installing you should see a warning.

Thank you for your answer！！


Add r0vm-ver-compat feature to relax r0vm server version checks

Allows cross client/server minor version's when using rc/pre releases for testing upcoming ZKVM releases.

@flaub / @SchmErik
Ok I pushed an update that:

Adds more logging on r0vm redis thread failures to help debug live issues.
comments out the recache flag for future reference for folks hitting this.
Adds a ignore'd test for r0vm redis that uses external redis, this is super useful for our testing so we can just leverage that unit test for benching / error testing in the future.

Give it a second review pass when you can.
Additionally this would be a target for backporting to release-1.0 and release-1.1 when its ready.


feat: Add ability to handle multiple encrypted disks with luks-tpm.

The current scripts assumes that system only spans
over a single encrypted drive. This patch adds
ability to add tpm key slots to multiple encrypted drives and also remove them.
Thank you for contributing to the Universal Blue project!
Please read the Contributor's Guide before submitting a pull request.
I have tested the scripts on my system.

I have refactored my changes to the latest branch.
There luks script was refactored in commit (6ff6bef61)[https://github.com/ublue-os/config/commit/6ff6bef619178edb9bc0cc82f436bfc4e0371494]

Hate to ask for this but could you resolve the conflicts one more time? I'd love to get this merged asap :)

I'm hesitant on this.
We only officially support a single, auto-partitioned disk, per our upstream installer.
Until we have more official support for fancier disk configurations, I don't feel confident in adding more complexity to existing tooling which encourages unsupported disk configurations.
For users who are confident with alternative partitioning and LUKS, that's cool, but they also may not need this script.


Remove old struct

Signed-off-by: Antonio Murdaca<EMAIL_ADDRESS>

If its not used, then LGTM

@duglin yup we removed code path for version < 1.12 so this isn't needed anymore (to my best knowledge, and it isn't used anywhere of course)

Awesome, LGTM


python312Packages.pymodbus: 3.6.6 -> 3.6.7

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.pymodbus is: Python implementation of the Modbus protocol
meta.homepage for python312Packages.pymodbus is: https://github.com/pymodbus-dev/pymodbus
meta.changelog for python312Packages.pymodbus is: https://github.com/pymodbus-dev/pymodbus/releases/tag/v3.6.7
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.6.7 with grep in /nix/store/5chp2rf8m877x7szh2vq86ib6ablri8f-python3.12-pymodbus-3.6.7
found 3.6.7 in filename of file in /nix/store/5chp2rf8m877x7szh2vq86ib6ablri8f-python3.12-pymodbus-3.6.7

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath
expliot
home-assistant-component-tests.modbus
python311Packages.pymodbus
python312Packages.pymodbus

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5chp2rf8m877x7szh2vq86ib6ablri8f-python3.12-pymodbus-3.6.7 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.pymodbus https://github.com/r-ryantm/nixpkgs/archive/bf421245f2998e14fd2b6da3b60dc9bf84c79ecb.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/bf421245f2998e14fd2b6da3b60dc9bf84c79ecb#python312Packages.pymodbus

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5chp2rf8m877x7szh2vq86ib6ablri8f-python3.12-pymodbus-3.6.7
ls -la /nix/store/5chp2rf8m877x7szh2vq86ib6ablri8f-python3.12-pymodbus-3.6.7/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

7 packages built:

expliot
expliot.dist
home-assistant-component-tests.modbus
python311Packages.pymodbus
python311Packages.pymodbus.dist
python312Packages.pymodbus
python312Packages.pymodbus.dist

Maintainer pings
cc @fabaff for testing.

Result of nixpkgs-review pr 302867 run on x86_64-linux 1

7 packages built:

expliot
expliot.dist
home-assistant-component-tests.modbus
python311Packages.pymodbus
python311Packages.pymodbus.dist
python312Packages.pymodbus
python312Packages.pymodbus.dist

Result of nixpkgs-review pr 302867 run on x86_64-linux 1

7 packages built:

expliot
expliot.dist
home-assistant-component-tests.modbus
python311Packages.pymodbus
python311Packages.pymodbus.dist
python312Packages.pymodbus
python312Packages.pymodbus.dist


InvestToOffice variable in RealCityPrivateBuildingAI

This variable used only in UI.
Should it substract from building money?

I read documentation.


Improve Cache-Control headers for prototype kit assets

Off the back of the same conversation related to this issue, the prototype kit Cache-Control headers were examined and they are all Cache-Control: public, max-age=0.

max-age=0 forces most browsers to revalidate the asset sitting in the cache with a server before it can be used. This will be slowing rendering if the network conditions are poor, or on an older device. So we should update the header to be more long lived. In terms of for how long, that is TBD.
It should be possible setup Express to serve the right headers, although it’s tied into the kit’s ‘extensions’ system so it’s not trivial.

we originally turned all caching off to make sure people working on their prototypes would never see the 'wrong' thing because of a caching issue somewhere. Might that happen here?

I'd hope / assume we could control caching of the html separate to assets - especially the font, which is highly unlikely to change.

Agreed, we should look at setting up headers different per type of resource and how often they change. Fonts, favicon, crest image etc are unlikely to change so they could have long life headers. jQuery will never change from a user perspective, and some of the other scripts may never change too. The HTML / CSS you may not want to even cache at all?
This post by Harry Roberts can offer us some guidance on which headers we could be using.

now that production and dev modes are very separate this should be easier to do, we could also add compression to assets and any other performance features

Related to #1931


Unable to stop a stack

Rancher Versions:
Server: rancher/server:stable I see v1.2.2 in the UI
healthcheck: rancher/healthcheck:v0.2.0
ipsec: rancher/net:holder
network-services: rancher/metadata:v0.7.0 and rancher/network-manager:v0.4.0
scheduler: rancher/scheduler:v0.5.0
Docker Version:
On the host where the server is:
$ docker version
Client:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 23:26:11 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 23:26:11 2016
 OS/Arch:      linux/amd64

OS and where are the hosts located? (cloud, bare metal, etc):
The RancherOS AMI on AWS
$ uname -a
Linux ip-*whatever*.us-east-2.compute.internal 4.4.24-rancher #1 SMP Fri Nov 11 03:20:22 UTC 2016 x86_64 GNU/Linux

Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)
The server cloud config:
#cloud-config
write_files:
  - path: /mnt/efs/this_is_just_to_make_the_dir.txt
    owner: root:root
    permissions: "0644"
mounts:
  - ["fs-*whatever*.efs.us-east-2.amazonaws.com:/", "/mnt/efs", "nfs4", "nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2"]
rancher:
  services:
    rancher-server:
      image: rancher/server:stable
      restart: unless-stopped
      ports:
        - 8080:8080
      volumes:
        - /mnt/efs/rancher-server/var/lib/mysql:/var/lib/mysql

Environment Type: (Cattle/Kubernetes/Swarm/Mesos)
Rancher	v1.2.2
Cattle	v0.174.13
User Interface	v1.2.40
Rancher Compose	v0.12.1

Steps to Reproduce:
Create a stack in the UI with this docker-compose file (that uses an invalid image):
version: '2'
services:
  hello:
    image: nouser/invalidimage
    labels:
      io.rancher.scheduler.global: true
    ports:
      - '80:80'

Try to stop the service from always retrying to start without deleting the stack.
Results:
No matter what, you will see this sequence repeated in loop:

Expected:
Being able to stop this unhealty stack ,  have some time to fix the issue, and start it again.

@pierredavidbelanger - This is a duplicate of #4525.  In the meantime the best work-around is to clone the offending service, fix it the problem in the clone, and then delete the service that won't stop.

having the same issue. is there any cli command that would execute clone on a service from stack?


Bug Report: Notes are disappearing

When I was playing M.I.L.F, I noticed my note disappeared. I thought that was my mistake, that I didn't press the note correctly. So I've restarted the song and it still kept going.
https://user-images.githubusercontent.com/85838311/123182293-64b61b00-d48f-11eb-946e-b9589379d515.mp4

Is the Anti-mashing system, maybe other problem is the safe FPS you have, i don't really know try change the safe FPS to 10 again, sorry if it don't works

This is not only happening to you, possibly a duplicate of #990
I'm gonna quote the last reply I got, as it actually fixed my issue:
If you prefer the old hit detection, edit line 214-215 of Note.hx from:
if (strumTime > Conductor.songPosition - Conductor.safeZoneOffset
&& strumTime < Conductor.songPosition + Conductor.safeZoneOffset)
to:
if (strumTime > Conductor.songPosition - Conductor.safeZoneOffset
&& strumTime < Conductor.songPosition + (Conductor.safeZoneOffset * 0.5))

Fixed in the latest release.


Allow user only set user data independently in PlayerUpdateBuilder/Player

In some cases, users may only want to set their user data instead of having to create the entire Track object. Lavalink only requires the user to provide an encodedTrack to be able to play music.
Creating the Track object is annoying because it requires dev.arbjerg.lavalink.protocol.v4.Track, which includes many Kotlin elements that are not user-friendly for Java developers.
Moreover, while the identifier can be modified independently, why there isn't a similar option for user data?
Edit:
What I mean for not user-friendly, my current solution

As I replied in your other issue, I'll add a bulder for track updates.

Would you mind trying version 790bc136b4972df3c1b4132de91e6d25ad8e3c66-SNAPSHOT with the new TrackUpdateBuilder class? It should do what you want.
You can get this version by adding the following repository
repositories {
    maven("https://maven.lavalink.dev/snapshots")
}

First, idk why it got such weird thing in Java (Decompiled source not accurate)

But updateTrack function looks good overall, receive user data from Lavalink server not tested

Resolved in version 2.3.0


can we have something like aegisctl around sentinel?

Should be trivial to create a helper shell script that finds the sentinel container and passes commands to it.

Closing this one in lieu of the OIDC Rest API exposure project.


My Dialogue Profile keeps crashing the game

idk if I'm doing something wrong. I made the json file in the code.
Originally posted by @WaFl-XIV in https://github.com/ShadowMario/FNF-PsychEngine/discussions/255

Oh ok


Add ability to set fg and bg colors to diagnostics section

I did this pretty quickly, because I didn't like the contrast of the colors in the diagnostics section.
I realized there is no way to change the background colors.
If you are willing to merge this, then let me know first, and I will fix the documentation to match and make sure the tests are updated and pass.

Implemented in shadmansaleh/lualine.nvim #311


Adding Tooltip.Anchor to Tooltip anatomy

Feature request
Overview
A Tooltip.Anchor component similar to Popover.Anchor to allow aligning the Tooltip to an element other than the Trigger.
Who does this impact? Who is this for?
This would impact anyone with a need for this level of flexibility in Tooltip placement.
Additional context
A common use case I have come across for this is a table cell with both text and icon content where the trigger should be on the text, but the Tooltip should be placed on the cell.

is there currently a workaround for this?


Tests & Fixes

Description of the Change

Added reset and custom theme options in the example app.
Fixed AdaptiveTheme's brightness and theme getters.
Fixed CupertinoAdaptiveTheme's brightness and theme getters.
Added Tests.

Codecov Report

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

@@           Coverage Diff            @@
##             main       #27   +/-   ##
========================================
  Coverage        ?   100.00%
========================================
  Files           ?         4
  Lines           ?       190
  Branches        ?         0
========================================
  Hits            ?       190
  Misses          ?         0
  Partials        ?         0

Continue to review full report at Codecov.

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


DOC: Add commit message tags to CONTRIBUTING.md

How about adding a tag like BRK or API for commits that include breaking changes? So it would be easy to determine version changes from commit logs.

Yeah, I'm down for that. I like BRK


helm: fix invalid nri-plugin-index that causes plugins to crash

Original printf format "%02d" argument for --nri-plugin-index produced argument value "%!d(float64=90)", if nri.pluginIndex was 90. As helm handles the value 90 as float64, use format "%02.0f" instead.

That's odd. I really thought I tested this properly with various valid and invalid indices, but maybe I did not after all.
BTW, is it so that now you can use --set nri.index=55.666 and it will "work" by using the index 55 ?

Original printf format "%02d" argument for --nri-plugin-index produced argument value "%!d(float64=90)", if nri.pluginIndex was 90. As helm handles the value 90 as float64, use format "%02.0f" instead.

Hmm... what Helm version are you using ?
[root@crio-devel xfer]# grep -Hn -B1 -A2 pluginIndex ./helm/topology-aware/templates/daemonset.yaml
./helm/topology-aware/templates/daemonset.yaml-57-            - --nri-plugin-index
./helm/topology-aware/templates/daemonset.yaml:58:            - "{{ printf "%02d" .Values.nri.pluginIndex }}"
./helm/topology-aware/templates/daemonset.yaml-59-            {{- if .Values.configGroupLabel }}
./helm/topology-aware/templates/daemonset.yaml-60-            - --config-group-label
[root@crio-devel xfer]# helm install policy ./helm/topology-aware -n kube-system --set image.name=localhost/policy-test --set image.tag=latest --set nri.pluginIndex=1
NAME: policy
LAST DEPLOYED: Fri Jan 26 09:24:33 2024
NAMESPACE: kube-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
[root@crio-devel xfer]# kubectl get pods -A | grep nri-resource-policy
kube-system   nri-resource-policy-topology-aware-pcjxh   1/1     Running   0          13s
[root@crio-devel xfer]# ps axuw | grep /bin/nri-resource-policy-topology-aware | grep -v grep
root        8009  0.3  0.4 1271032 37376 ?       Ssl  09:24   0:00 /bin/nri-resource-policy-topology-aware --host-root /host --config-namespace kube-system --pid-file /tmp/nri-resource-policy.pid -metrics-interval 5s --nri-plugin-index 01
[root@crio-devel xfer]# helm uninstall -n kube-system policy
release "policy" uninstalled
[root@crio-devel xfer]# helm install policy ./helm/topology-aware -n kube-system --set image.name=localhost/policy-test --set image.tag=latest --set nri.pluginIndex=50
NAME: policy
LAST DEPLOYED: Fri Jan 26 09:25:34 2024
NAMESPACE: kube-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
[root@crio-devel xfer]# kubectl get pods -A | grep nri-resource-policy
kube-system   nri-resource-policy-topology-aware-jrrp8   1/1     Running   0          4s
[root@crio-devel xfer]# ps axuw | grep /bin/nri-resource-policy-topology-aware | grep -v grep
root        8346  1.0  0.4 1270776 37888 ?       Ssl  09:25   0:00 /bin/nri-resource-policy-topology-aware --host-root /host --config-namespace kube-system --pid-file /tmp/nri-resource-policy.pid -metrics-interval 5s --nri-plugin-index 50
[root@crio-devel xfer]# helm uninstall -n kube-system policy
release "policy" uninstalled
[root@crio-devel xfer]# helm install policy ./helm/topology-aware -n kube-system --set image.name=localhost/policy-test --set image.tag=latest --set nri.pluginIndex=90
NAME: policy
LAST DEPLOYED: Fri Jan 26 09:26:16 2024
NAMESPACE: kube-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
[root@crio-devel xfer]# kubectl get pods -A | grep nri-resource-policy
kube-system   nri-resource-policy-topology-aware-bstdj   1/1     Running   0          3s
[root@crio-devel xfer]# ps axuw | grep /bin/nri-resource-policy-topology-aware | grep -v grep
root        8679  1.6  0.4 1271032 37888 ?       Ssl  09:26   0:00 /bin/nri-resource-policy-topology-aware --host-root /host --config-namespace kube-system --pid-file /tmp/nri-resource-policy.pid -metrics-interval 5s --nri-plugin-index 90
[root@crio-devel xfer]# helm version
version.BuildInfo{Version:"v3.11", GitCommit:"", GitTreeState:"", GoVersion:"go1.21rc3"}
[root@crio-devel xfer]#

Also, with balloons:
[root@crio-devel xfer]# helm install policy ./helm/balloons -n kube-system --set nri.pluginIndex=90
NAME: policy
LAST DEPLOYED: Fri Jan 26 09:33:35 2024
NAMESPACE: kube-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
[root@crio-devel xfer]# kubectl get pods -A | grep balloons | grep -v grep
kube-system   nri-resource-policy-balloons-rwmjz   1/1     Running   0          94s
[root@crio-devel xfer]# ps axuw | grep /bin/nri-resource-policy- | grep -v grep
root        9129  0.3  0.1 1271104 12800 ?       Ssl  09:33   0:00 /bin/nri-resource-policy-balloons --host-root /host --config-namespace kube-system --pid-file /tmp/nri-resource-policy.pid -metrics-interval 5s --nri-plugin-index 90

Can you try if a self-compiled helm (from head or the latest release tag) in the same test environment then works as expected ? And if not, if the golang toolchain has any significance ? If it does, then maybe an alternative fix of self-compiling/go-installing helm in the e2e tests could also work.

I tried with both the helm release installed by e2e tests, and most resent prebuilt helm release:

`version.BuildInfo{Version:"v3.11", GitCommit:"", GitTreeState:"", GoVersion:"go1.19.6"}
version.BuildInfo{Version:"v3.14.0", GitCommit:"3fc9f4b2638e76f26739cd77c7017139be81d0ea", GitTreeState:"clean", GoVersion:"go1.21.5"}

Both of these versions fail with %02d and work with %02.0f. And I suppose your version will give an error with %02.0f.
It seems likely that both versions of helm exist in the wild, so maybe we should reject this PR and give up trying to do zero padding with printf in our templates. We could as well use string as index, like "90" or "08" for zero-padding.

I tried with both the helm release installed by e2e tests, and most resent prebuilt helm release:

version.BuildInfo{Version:"v3.11", GitCommit:"", GitTreeState:"", GoVersion:"go1.19.6"}
version.BuildInfo{Version:"v3.14.0", GitCommit:"3fc9f4b2638e76f26739cd77c7017139be81d0ea", GitTreeState:"clean", GoVersion:"go1.21.5"}

Both of these versions fail with %02d and work with %02.0f. And I suppose your version will give an error with %02.0f.
It seems likely that both versions of helm exist in the wild, so maybe we should reject this PR and give up trying to do zero padding with printf in our templates. We could as well use string as index, like "90" or "08" for zero-padding.

Looks like this is a known problem that people are trying to fix, but haven't managed to fully do so yet:
commit f94bac0643ad5d39c740c57c6c8ea6a4569a1db0
Author: Oleg Sidorov<EMAIL_ADDRESS>Date:   Wed Jul 17 10:21:17 2019 +0200

    chartutil.ReadValues is forced to unmarshal numbers into json.Number refs #1
707 [dev-v3]

    Backport of https://github.com/helm/helm/pull/6010 to dev-v3 (the
    description below is a copy-paste from the original v2 branch PR).
    As https://github.com/helm/helm/pull/6016 is now merged to dev-v3, the
    change is reasonably trivial.

    This change is an attempt to address the common problem of json number
    unmarshalling where any number is converted into a float64 and
    represented in a scientific notation on a marshall call. This behavior
    breaks things like: chart versions and image tags if not converted to
    yaml strings explicitly.

    An example of this behavior: k8s failure to fetch an image tagged with a
    big number like: $IMAGE:20190612073634 after a few steps of yaml
    re-rendering turns into: $IMAGE:2.0190612073634e+13.

    Example issue: #1707

    This commit forces yaml parser to use JSON modifiers and explicitly
    enables interface{} unmarshalling instead of float64. The change
    introduced might be breaking so should be processed with an extra care.

    Due to the fact helm mostly dals with human-produced data (charts), we
    have a decent level of confidence this change looses no functionality
    helm users rely upon (the scientific notation).

    Relevant doc: https://golang.org/pkg/encoding/json/#Decoder.UseNumber

    Signed-off-by: Oleg Sidorov<EMAIL_ADDRESS>    Signed-off-by: Oleg Sidorov<EMAIL_ADDRESS>

Therefore I suggest we add this workaround until that problem is gotten under control in Helm:
diff --git a/deployment/helm/balloons/templates/daemonset.yaml b/deployment/helm/balloons/templates/daemonset.yaml
index e9998613..d978aeb5 100644
--- a/deployment/helm/balloons/templates/daemonset.yaml
+++ b/deployment/helm/balloons/templates/daemonset.yaml
@@ -55,7 +55,7 @@ spec:
             - -metrics-interval
             - 5s
             - --nri-plugin-index
-            - "{{ printf "%02d" .Values.nri.pluginIndex }}"
+            - "{{ .Values.nri.pluginIndex | int | printf "%02d"  }}"
             {{- if .Values.configGroupLabel }}
             - --config-group-label
             - {{ .Values.configGroupLabel }}

I'll file a PR.

Filed #250 to fix this until Helm gets it under control.

Closing this PR, replaced by #250


delivers SIGTERM on parent exit on FreeBSD.

fixes its build while at it.

Thank you for the PR, sorry for the delay.
Could you elaborate why we need this? We already use a file descriptor (close_notify_fd) to detect parent exit which is a portable approach.


Rename all refs to mapepire-python

rename all refs in code to mapepire_python and mapepire-python
Here is a current list of all files that have a ref to python_wsdb:
./Makefile
./pyproject.toml
./RELEASE_PROCESS.md
./docs/source/conf.py
./README.md
./examples/simple-example.ipynb
./scripts/prepare_changelog.py
./scripts/release.sh
./.github/workflows/pr_checks.yml
./.github/CONTRIBUTING.md
./.github/ISSUE_TEMPLATE/bug_report.yml
./python_wsdb/ssl.py
./python_wsdb/pool.py
./python_wsdb/client/sql_job.py
./python_wsdb/client/query.py

files with python-wsdb:
./CHANGELOG.md
./pyproject.toml
./docs/source/conf.py
./docs/source/index.md
./docs/source/installation.md
./README.md
./scripts/prepare_changelog.py
./.github/workflows/main.yml
./.github/pull_request_template.md
./.github/CONTRIBUTING.md
./.github/ISSUE_TEMPLATE/bug_report.yml
./.github/ISSUE_TEMPLATE/documentation.yml

#47 addresses all references in the source. here are the remain links what ref "python_wsdb":
./CHANGELOG.md:11:Rename references from python_wsdb and python-wsdb to mapepire_python and mapepire-python
./pyproject.toml:31:# Documentation = "https://python-wsdb.readthedocs.io/"
./docs/source/installation.md:8:**mapepire-python** is available [on PyPI](https://pypi.org/project/python-wsdb/). Just run
./docs/source/installation.md:11:pip install python-wsdb
./README.md:6:
./README.md:7:
./README.md:51:`mapepire-python` is available on [PyPi](https://pypi.org/project/python-wsdb/). Just Run
./README.md:54:pip install python-wsdb
./.github/workflows/main.yml:129:          pip uninstall -y python-wsdb
./.github/ISSUE_TEMPLATE/documentation.yml:2:description: Report an issue related to https://python-wsdb.readthedocs.io/latest
./.github/ISSUE_TEMPLATE/documentation.yml:10:      A clear and concise description of what content in https://python-wsdb.readthedocs.io/latest is an issue.


Conversion from uint32 to int32 should be marked lossy

If one of the values in a binary operation is a float constant with a value that fits in a uint32 but not an int32, and the instruction can ignore int overflow, the source value for the purposes of int specialization would have been changed to an int constant value by ignoring overflow. But, the conversion is still lossy.

This change is

@LouisLaf

lgtm

:+1:


Obelisk Joker

Description of the bug
Currently does nothing.

Obelisk is actually fully functional, but needs #8

That's how it worked before the engine rewrite, but #8 is done, so that's irrelevant.


Version 1.1 still says "1.0" in the plug-ins menu

Looks like the .cfg file wasn't updated.

I've fixed this with the 3.x branch. The master branch is already at 1.2, so I'm not even gonna bother. Thanks for reporting this though.


Dias Set uneven distribution

I created a simulator to study the emergent behaviour of the Dias set. It appears there may be a bug in how the connections are distributed. Here's a video of the simulator:
https://www.youtube.com/watch?v=JB0rmXHLFV8
Note that the node at the top keeps receiving incoming connections from every other node, as the ring grows.
This PR adds a test case demonstrating the problem: https://github.com/ipfs-shipyard/peer-star-app/pull/98
To run the test:
npx aegir test -t node -f test/common/dias-set-inbound-conns.js
Example output:
...
Of 20 peers:
Max inbound: 19
Max outbound: 6
    1) distributes inbound connections evenly

  0 passing (3s)
  1 failing

  1) dias set inbound connections
       distributes inbound connections evenly:

      AssertionError: expected 19 to be below 15
      + expected - actual

      -19
      +15

I modified the simulator so that it can display nodes as they would be distributed around the ring organically (instead of evenly spaced):
https://youtu.be/GyFENcNGFNk
@pgte if my simulation is rendering the nodes correctly, it looks like maybe the calculation for the peer in position node after 1/2 the ring is incorrect?
This is the calculation I'm doing for where that node should be on the ring. Is bytes.readUInt32BE() correct for a 32 byte beer id (after removing the 2 byte prefix)?
  getPos(peer) {
    const bytes = peer.peerInfo.id.toBytes().slice(options.preambleByteCount)
    const proportion = bytes.readUInt32BE() / Math.pow(2, options.peerIdByteCount)
    const angle = 2 * Math.PI * proportion - Math.PI / 2
    const center = this.getCenter()
    const radius = this.getRadius() - this.pointRadius
    const x = center[0] + radius * Math.cos(angle)
    const y = center[1] + radius * Math.sin(angle)
    return [x, y]
  }

Also happy to put my simulator into a PR so you can play with it (it's pretty hacked together at the moment)

Ah I think it's a bug in the oneHalfFrom function:
  function oneHalfFrom (id) {
    const half = Buffer.alloc(bytes)
    for (let i = 1; i < bytes; i++) {
      half[i] = 0xff
    }
    half[0] = 0x7f
    return sum(bytes, half)
  }

Looks like it's not taking the id parameter into account

(I wasn't very trustful of all the byte manipulation that was going on, so I shoved a big-integer into that.
Happy to replace it with some clever byte-fu if you have it :) ).

@pgte oh great you fixed it already :)

I agree that it's better to use big-integer, it's possible that it's marginally less efficient, but I think it's much clearer and less likely to have bugs 👍

Fix landed in v0.9.2


xPackage Issue with ProductIDs that are null

I'm using xPackage to install vcredist_x64.exe (Microsoft Visual C++ 2010  x64 Redistributable - 12.0.40649).  The application, once installed, returns a null value for ProductID.  The problem is the following:

I am unable to input $null as a value in the required field of ProductId
If I use empty quotes in the ProductId value, it returns the following error:
PowerShell DSC resource MSFT_xPackageResource  failed to execute Set-TargetResource functionality with error message: System.InvalidOperationException: Package from
C:\Installers\VCRedist\vcredist_x64.exe was installed, but the specified ProductId and/or Name does not match package details.  I was able to validate that this is the case in a manual installation scenario as well.

My question I guess is why is the ProductId a required input for the DSC Resource Provider?  And if it's totally necessary, is there a good way to handle a null value that I'm not thinking of?

@GamerLivingWill - I use the InstalledCheckRegKey* parameters in this scenario. Find a consistent REG_SZ value and use that in conjunction with an empty ProductId. Hope it helps 😃!

Hey there @iainbrighton !  I see that input is requesting string.  Is it looking for true/false on a string?  I'm not seeing anything in the documentation.

When the readme.md got reformatted (auto-generated?), it looks like it was dropped?! Here's what I use to install Citrix Receiver from a composite resource, but I'm sure you'll get the gist 😉..
    xPackage 'CitrixReceiver' {
        Name = $ProductName;
        ProductId = '';
        Path = $Path;
        Arguments = [System.String]::Join(' ', $arguments);
        ReturnCode = 0;
        InstalledCheckRegKey = 'Software\Citrix\Install\ICA Client';
        InstalledCheckRegValueName = 'InstallFolder';
        InstalledCheckRegValueData = 'C:\Program Files (x86)\Citrix\ICA Client\';
    }

Ahhh.  Thanks!
Also, Citrix?   ;)

Ok so a very important note that seems to be omitted here is that for the

When the readme.md got reformatted (auto-generated?), it looks like it was dropped?! Here's what I use to install Citrix Receiver from a composite resource, but I'm sure you'll get the gist 😉..
    xPackage 'CitrixReceiver' {
        Name = $ProductName;
        ProductId = '';
        Path = $Path;
        Arguments = [System.String]::Join(' ', $arguments);
        ReturnCode = 0;
        InstalledCheckRegKey = 'Software\Citrix\Install\ICA Client';
        InstalledCheckRegValueName = 'InstallFolder';
        InstalledCheckRegValueData = 'C:\Program Files (x86)\Citrix\ICA Client\';
    }

Ok so a very important note that seems to be omitted here is that:
CreateCheckRegValue = $true;
needs to be added for:
InstalledCheckRegKey = 'Software\Citrix\Install\ICA Client';
InstalledCheckRegValueName = 'InstallFolder';
InstalledCheckRegValueData = 'C:\Program Files (x86)\Citrix\ICA Client\';

to work.
I just spent a good half hour going through the master code to confirm this.


Can't get Colemak keyboard layout to work in MacOS

I have two different Colemak keyboards: One is wired Beekeeb Piantor and has custom mappings and requires the keyboard layout within MacOS to be set to the normal US layout, and it sends the correct keys to the OS. The other is a Nuphy Air 75 bluetooth keyboard and it requires the OS to be set to Colemak to work. In my .toml file, I have tried commenting out the default qwerty layout and leaving it in and in both cases tried adding the Colemak key mappings and commenting them out, each time reloading the config.
The behavior I'm seeing is that a lot of keys simply don't work. I wanted to map my mail app to Alt-Shift-m, but it acts like it doesn't even see it. I tried putting a window in the O workspace and it puts it in the Y workspace. For some reason the key mapping isn't working. I also can't place apps in many of the numbered workspaces while others seem to work fine.
I REALLY like the idea of this app. If there is anything that can be done I am happy to do it. I've attached my aerospace.toml file (renamed to .txt, as you can see).
aerospace.txt
Thanks.

@rwedmonds , I found that even after implementing the Colemak Keys Remap, the key in the config file matched the letter printed on the key. So, I pulled out the remap, left it in QWERTY mode, configured the key map as such, and went on my merry Coleman way.


Add embedded Go pprof and DataDog profilers

This PR replaces https://github.com/getAlby/nostr-wallet-connect-next/pull/320 — I got linter errors when trying to merge and commit, so I figured it was easier to ditch it and create a new one 😅

@bumi in the original PR, you have removed all the env configuration variables except DD_PROFILER_AGENT_ADDR. I am a bit confused — was it intended?.. Agent address can be specified using an env variable just like the other DataDog settings, so in this PR I have added DD_PROFILER_ENABLED flag instead.

@rdmitr do you remember the linter errors you got? we merged some linter changes but it should have only affected the frontend code, not the go code.

@rdmitr makes sense. thanks

@rolznz

do you remember the linter errors you got? we merged some linter changes but it should have only affected the frontend code, not the go code.

Not really — I think some of the commit names were not formatted as expected by husky, and then it screwed up the merge and conflict resolution process in my IDE. I decided not to waste time trying to figure it out.
But the husky rules certainly apply to the whole repo — I was quite surprised on Saturday when my commits suddenly started failing 😁

@rdmitr do you understand what this part is caused by?

Can we conclude that LDK consumes about 4X as much resources as our NWC code and our main two things that cause high CPU usage are Nostr event handling and DB access?

@rolznz

do you understand what this part is caused by?

As far as I understand, that's goroutine management code

Can we conclude that LDK consumes about 4X as much resources as our NWC code and our main two things that cause high CPU usage are Nostr event handling and DB access?

It looks like the profile was collected over a fairly short amount of time, so it's hard to say for sure. But yes, I would expect LDK code to be quite resource intensive


Facebook v5 mentions objects

New Facebook mentions object representation for V5 post data.

[Current coverage][cc-pull] is 78.97%

Merging [#45][cc-pull] into [master][cc-base-branch] will decrease coverage by -0.00%

@@             master        #45   diff @@
==========================================
  Files           599        601     +2
  Lines         12217      12255    +38
  Methods           0          0
  Messages          0          0
  Branches        436        438     +2
==========================================
+ Hits           9649       9678    +29
- Misses         2245       2253     +8
- Partials        323        324     +1

[][cc-pull]

Powered by Codecov. Last updated by b3eb9fc
[cc-base-branch]: https://codecov.io/gh/percolate/percolate-java-sdk/branch/master?src=pr
[cc-pull]: https://codecov.io/gh/percolate/percolate-java-sdk/pull/45?src=pr


Etcd TLS option

Description

Added configuration option for TLS for EtcdLoader
Fixes #6
Type of change

[ ] Bugfix
[x] New feature

Checklist:

[x] I covered my changes with tests (make cover)
[x] I ran make all locally and no tests failed, nor no linter warnings occurred.
[x] I added examples and changed the documentation accordingly (only if applicable).

Contributor License Agreement
By submitting this pull request, I confirm that my contribution is made under the terms of project's license.

Coverage increased (+0.0003%) to 99.839% when pulling f7e63f0a1839a7020e1054ccf8a5871a3fadd46f on etcd_tls into 1069c3c096649067577c9819d2282a8b5489a3a3 on main.


github.workflows config: make it a glob or regex to allow for a more flexible selection

Finally got to establish one for https://github.com/datalad/git-annex/tree/master/.github/workflows . There I would like to get all build-*.yaml (apparently we aren't consistent in extension, and have build-prs.yml) but ignore the other frequent ones for updates etc.  ATM I can only list them explicitly (which I will do for now) instead of somehow select via regex (seems might be the most flexible) or exclude undesired.  WDYT @jwodder ?

@yarikoptic I can do that using either globs or regexen.  I just need to know exactly what the config structure should look like and, if we're reusing the workflows key, whether the old workflows: [...] structure should be maintained / how it should interact with any new keys.

Can I just leave it up to you to decide one way or another?  I have not used workflows limiting AFAIK yet, so as to me we could just "break" and reuse workflows to be regexes (IMHO more flexible than globs), or we could add a new key workflows_filter: str or list which if specified would filter workflows (which are all if not specified).

ATM just doing include would have been sufficient, but may be indeed could be workflows_include: regex and workflows_exclude: regex? (exclude to apply after include although doesn't matter much ;-) )