Release version 0.7.0

I would like to propose releasing version 0.7.0.
Checklist:

[x] https://github.com/apache/arrow-datafusion-python/issues/31
[x] https://github.com/apache/arrow-datafusion-python/issues/33
[ ] Publish release candidate
[ ] Start vote
[ ] Vote passes
[ ] Publish

I ran into problems releasing this and could use help from someone who is more familiar with the process.

I would like to participate in the release process to familiarize myself with the ASF specification.

I would like to see us start releasing this project again, but I don't have sufficient knowledge about Python. I would love to pair with someone to get a release out.
@isidentical I was curious - do you have any interest in the DataFusion Python bindings?

I used to do release while it is hosted in datafusion-contrib org, if help is needed I can share more.

I used to do release while it is hosted in datafusion-contrib org, if help is needed I can share more.

Thanks @Jimexist. Is there any documentation on how to do the release? I guess the first step is getting this kind of documentation into the repo.

@andygrove @Jimexist also let me know if there is anything I can help with.

I am quite unfamiliar with the release procedure of this repo, but here are my observations on how the basic flow of a release might look like:

It seems like the last release was at July with 0.6.0, so we probably need to bump the version tag for this one?

There is already some automation in place for building the wheels when an rc version tag is pushed. So we can trigger it and use the artifacts for the release candidate process.

Once the vote passes, we probably need to repeat these two steps but with the final version (that'd be 0.7.0). For building wheels for all platforms, I think it makes sense to change the build action to actually be ran on every tag push.

Downloading the artifacts from the build of 0.7.0, and uploading them to PyPI using twine.

I'm interested in doing some work on this, anyone who needs my help please assign me.

I am quite unfamiliar with the release procedure of this repo, but here are my observations on how the basic flow of a release might look like:

It seems like the last release was at July with 0.6.0, so we probably need to bump the version tag for this one?
There is already some automation in place for building the wheels when an rc version tag is pushed. So we can trigger it and use the artifacts for the release candidate process.
Once the vote passes, we probably need to repeat these two steps but with the final version (that'd be 0.7.0). For building wheels for all platforms, I think it makes sense to change the build action to actually be ran on every tag push.
Downloading the artifacts from the build of 0.7.0, and uploading them to PyPI using twine.

We don't seem to need to publish to PyPI with twine, we can publish directly with maturin publish.

If we are ok with just running maturin publish for now, I think we could go ahead and create a release candidate, vote on it, then run that command to publish?

If we are ok with just running maturin publish for now, I think we could go ahead and create a release candidate, vote on it, then run that command to publish?

I think these are enough, does @isidentical has anything else to add?

maturin publish sounds good. Is publishing to PyPi enough for this release? How important is it to publish wheels?

I think maturin publish should upload wheel directly. If we use twine + GitHub Action, we may needs to build the wheel .maturin publish should not need to build

maturin publish sounds good. Is publishing to PyPi enough for this release? How important is it to publish wheels?

I am not super sure if maturin publish has an internal mechanism to allow this, but in general wheels are a great way to save a lot of trouble for users (since otherwise, each installation would essentially need to recompile & link datafusion; which in turn would require the installation system to have a proper rust tooling ready).
Another idea is checking out cross compilation from maturin. I haven't used it and maybe it won't help with such a complex dependency chain as ours but it might be worth a shot. https://www.maturin.rs/distribution.html#build-wheels & https://www.maturin.rs/distribution.html#cross-compile-to-linuxmacos

Maybe we can learn from how Polars does this. It looks like they use maturin publish to publish the wheels?
https://github.com/pola-rs/polars/blob/master/.github/workflows/create-py-release-manylinux.yaml

maturin publish publishes (with the right set of arguments) wheels only for the system you are running it in. So we still have to do something like polars where we would repeatedly call maturin publish on multiple different environments to package wheels for everyone. I think the most important one would be MacOS + manylinux2010/manylinux2014 but if windows is easy we can also include it.

To make sure I understand this correctly... we already have a GitHub workflow to build the wheels when we tag the repo, so if we go ahead with a release now, we can always run maturin publish manually on Mac & Linux after the release is tagged, and with appropriate votes on releasing? I would rather release soon and learn what we can do to improve the process next time.

@isidentical @francis-du @Jimexist Let me know what you think of the previous statement/question :point_up:. Any reason I should not go ahead and cut a release candidate now? It has been more than 6 months since the last release so I am keen to get some momentum going again.

To make sure I understand this correctly... we already have a GitHub workflow to build the wheels when we tag the repo, so if we go ahead with a release now, we can always run maturin publish manually on Mac & Linux after the release is tagged, and with appropriate votes on releasing?

That seems to be my understanding. Wheels are basically pre-packaged versions of source distributions; so if there is no formal guidelines on binary publishing in ASF I think you can start the voting process directly on the source distributions and once we cut it we should be able to build wheels for it separately.

By the way, source distribution hash can also be used to verify it on PyPI directly (so I assume that satisfies the voting guidelines in the sense that the actual release is now shipped, and the wheels are just auxiliary artefacts)

candid

one way to have a thing for people to test out is instead of publishing a release candidate, publish to testpypi

last time I did publish, I used twine and upload it like any other python packages. maturin was used in prior steps to build the artifacts.

I pushed a 0.7.0-rc1 tag, and it built the wheels. The artifacts are available for download at the bottom of this page: https://github.com/apache/arrow-datafusion-python/actions/runs/3549837792

I started a vote on the mailing list: https://lists.apache.org/thread/1nh72rdvywbxyyjhgqs3jd5xrnhx6n5f

I am now trying to upload to testpypi using twine (based on the instructions at https://packaging.python.org/en/latest/tutorials/packaging-projects/) but am running into an error.
$ python3 -m twine upload --repository testpypi --verbose datafusion-0.7.0-cp37-abi3*.whl
Uploading distributions to https://test.pypi.org/legacy/
INFO     datafusion-0.7.0-cp37-abi3-macosx_10_7_x86_64.whl (9.4 MB)
INFO     datafusion-0.7.0-cp37-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (11.9 MB)
INFO     datafusion-0.7.0-cp37-abi3-win_amd64.whl (10.0 MB)
INFO     Querying keyring for username
Enter your username: __token__
INFO     Querying keyring for password
Enter your password:
INFO     username: __token__
INFO     password: <hidden>
Uploading datafusion-0.7.0-cp37-abi3-macosx_10_7_x86_64.whl
100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.9/9.9 MB • 00:06 • 1.7 MB/s
INFO     Response from https://test.pypi.org/legacy/:
         400 Invalid value for project_urls. Error: Use valid URL.
INFO

           <title>400 Invalid value for project_urls. Error: Use valid URL.</title>

400 Invalid value for project_urls. Error: Use valid URL.

           The server could not comply with the request since it is either malformed or otherwise incorrect.

         Invalid value for project_urls. Error: Use valid URL.

Any idea what I am doing wrong @Jimexist @isidentical?

I think the issue may be that in https://github.com/apache/arrow-datafusion-python/commit/f0d565912cd1cb86e5f268ff41bf1118e9743690#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711 we removed the https:// prefix from the URLs in project.url?


gitea pip packages causes unexpected fragment (expected #sha256=... or similar) sha256-xxxx

Thanks! Let me take a look at the format. It's from @gitea. https://github.com/go-gitea/gitea


50% Prediction Errors at "100%" accuracy

When training an AlexNet with two classes of 5,000 images per each class in separate training and validation directories (total 20,000 images).  The training and val loss values drop to near zero and the accuracy goes to an unbelievable 100%. Doing single image tests from the validation set for the second class is almost always an incorrect prediction. Single image tests from the validation set for the first class is always a correct prediction.  Am I misunderstanding what is being reported as "Accuracy"? the images are png files that are approximately 800x600.
I have gotten the same result with much smaller subset of the data 1000 image per class.

I'm not sure I have enough information to help you. I'm not saying it couldn't be a bug in DIGITS, but it certainly sounds like you may have set up your datasets incorrectly. Can you give me some more detail on how you created your dataset? I assume that you've looked at the instructions here?

I looked over the instructions and have run both examples of LeNet on MNIST and AlexNet on imagenet data, and they worked the way they are supposed to.
I'm happy to believe it is me, but something does seem off with the accuracy reported.  I have image sequences (medical, video like, all very similar in appearance) the sequences are labeled as class one or two. I split the sequences into a training and val group (half in each). Finally the sequences are split into individual frames and these are my images. Images in the training set are strictly from training sequences and images in the validation set are strictly from the validation sequence.
I guess my issue boils down to after training, the DIGITS graphs is showing 100% accuracy but when I test individual images from the validation set I get mis classifications.
Update: I Have now been running with a batch size of 1 as opposed to 'default' and so far training looks a lot more normal (ie it is not converging yet, val loss is effectively constant, training loss is oscillating, and accuracy is a little over 50%) maybe this related to have a large N compared to the number of classes?

maybe this related to have a large N compared to the number of classes?

That does seem to make sense. Let me know if that fixes the problem for you - I could add a check to save others from this problem in the future.

something does seem off with the accuracy reported

I agree. I'll try to look into it. Hopefully today, if I find the time.

Great, thank you. I won't have a result with my data for a couple days. But I can also try an reproduce the problem with a sub-set of the imageNet data if that would be helpful.

Found the problem.... I had assumed that the "make runtest" was isolated from references that exist in my openSuSE 13.2 system to caffe master branch of github build....
I just did a W.A.G. and remove all paths to the caffe master build and eventhing is working now... everything from https://github.com/NVIDIA/DIGITS/blob/master/docs/GettingStarted.md is now working
The take away here is you cannot have to version of caffe in your path....
Thanks again for the good work ;)

@Dezmon
are you training network with the same sizes (for example 256x256)?

Yes, the images get scaled/padded to 256x256 same as with the ImageNet data. Though I am relying on DIGITS to do that for me, but it works fine from the ImageNet JPG's (and when I test single images from my data). So I'm assuming that part is ok.

Hmm, I may have messed up my data manipulation for testing somewhere (see BVLC/caffe#2255). I'll get back to you on this.

@Dezmon, I just upgraded to a newer version of caffe and changed the way that I do image preprocessing. Will you upgrade your DIGITS and NVIDIA/caffe installations, and then see if that fixes the issue for you?

I did a fresh install and build of Caffe (NVIDAs) and DIGITS, I rebuilt the dataset from the raw PNGs and I'm still seeing the problem. That said I think it has todo with batch size (and some lack of basic understanding on my part). With batch sizes other than network default I get very different behavior, mostly the loss explodes which is not a great outcome but at least is understandable.

Can you post your DB build page with the distribution of classes?  This looks like an overfit problem of some sort.

Sure I'll post it and yes the data is a little unbalanced, but how would overfitting drive the validation accuracy to 100% and the validation loss to 0? Training I would understand but validation doesn't make sense to me, but I am new to ML and open to suggestions.
I have now reproduced it with ImageNet Data. I took two classes from the full data set (n04404412 and n04409515) which are separated into training (2600) and test (26) directories. I trained using defaults for alexnet and got the same behavior. 100% accuracy shown but testing individual image from the validation directory give mixed results.
Here is the training for the two class imagenet data:

Here is my data:

That is a tiny amount of data for a pretty large network.  You are going to overfit quickly.  Better would be to attempt finetuning from a fully trained.  More importantly, you have a TINY amount of validation images, generally we shoot for >10%, more like 25% of the number of training images.

Hi Mike, the little set was just to show another example of the problem. So it could be reproduced on a standard image set.
For my data (the first training plot in this thread) I am using 22,838 training images and  25,549 validation image (much more than 25%) per class. Is this still a tiny amount of data? I thought ImageNet used only 1,000 per class

That should be working better.  My hunch is still that you are overfitting your data.  ImageNet has ~1000 images per class, but ~1.2M base training images.  Still, I would expect better performance.  We for example, we have taking Pascal VOC crops and trained on those from scratch successfully, but starting from a pretrained network trained on AlexNet/CaffeNet does produce better overall results.
Let's look at batch sizes and learning rate carefully.  Generally if you mess with the batch size you also need to adjust your learning rate and decays.  Alex K talks about this in Section 5 of his "One Weird Trick" paper.
Still, you are getting high traning accuracy and your 2 loss curves look correct.  Your training and validation sets have no overlap in samples, correct?

That is correct. I'm not expecting this to work all that well and I'll add a lot more data when I get my understanding of the tools worked out a little better.  I'm just trying to figure out the high reported accuracy and subsequent poor single image performance for prediction. I will re-read his paper.

You are correct, adjusting the learning rate up by his recommended sqrt(k) gives very different network performance (exploding training loss, woohoo :/ ). Should I close this? Since the problem appears to only comes up with pathologically un/under-trained networks that for some reason are reporting low validation loss and 100% accuracy.
Thank you both very much for your help.

No problem. I'll look into handling the learning rate vs. batch size adjustment automatically in the future.


Fixes #9, #10, and #16

This commit addresses the following issues to improve clarity, consistency, and compatibility:

Issue #9: Corrected English localization errors to improve phrasing. Changes include:

"Cap" -> "Cup"
"Mag" -> "Mug"
"Handel" -> "Handle"
"Side" -> "Slice"
"Coffee Flour" -> "Ground Coffee"
"Cooked Coffee Beans" -> "Roasted Coffee Beans"

Issue #10: Fixed blockstate JSON filename typos:

cap_double_espresso_coffe.json -> cap_double_espresso_coffee.json

Issue #16: Added a loot table for the Coffee Bush to enable compatibility with the Create Mod's Mechanical Harvester.

This change ensures the Coffee Bush drops loot based on its growth state when broken, similar to the "Use" interaction behavior.
Although this alters the original feature behavior (harvest-only-on-use), it is required for Create Mod compatibility.
Loot rules were carefully designed to mirror the default mechanics, keeping gameplay fair and balanced.

Technical Details:

Updated en_us.json with corrected localization strings.
Renamed JSON files in the blockstates/ directory to fix typos and align with game standards.
Created a loot table for the Coffee Bush to support both manual breaking and block breaker tools while maintaining consistency with its growth state.

Testing:

Verified localization changes in the in-game interface.
Tested blockstate JSON corrections to ensure proper block rendering and functionality.
Confirmed Coffee Bushes drop appropriate loot when broken and work seamlessly with Create Mod's Mechanical Harvester.

Amazing work! Thanks for your helps!


Switch out Jasmine with Mocha&Chai

I did this locally to be able to easily debug from IntelliJ. I thought as I already did it, I could provide a PR in case you're interested in doing it yourselves :smile:

Actually I don't care so I let this decision open to @ampedandwired who chose the testing framework in the first place.

Rebased now, it if matters :laughing:

This makes sense I think, because mocha seems to be standard (webpack also uses it).

My 2 cents https://medium.com/javascript-scene/why-i-use-tape-instead-of-mocha-so-should-you-6aa105d8eaf4

@MoOx don't you think it would be better to use a testing framework for an open source project which is widely known and understood to encourage writing tests?
Tape might be the better tool but people seem to have more experience with Jasmine / Mocha:
http://ashleynolan.co.uk/blog/frontend-tooling-survey-2015-results#q7-javascript-testing

I prefer mocha and chai to tape... the extra assertions improve the semantics as often a deeplyEqual just isn't enough. I've found little setup necessary for mocha also with lots of flexibility -- especially compared to say... jest or karma which both require lots of configuration.


cargo new should allow the project name be different from the path

Right now running cargo new foo produces a directory named foo and a Cargo.toml with:
[package]

name = "foo"
version = "0.0.1"
authors = ["..."]

Instead, we should allow a user to specify the crate name independently from the path we create. For example, we could allow cargo new foo bar to make the directory bar that contains the previous toml file.

Added in https://github.com/rust-lang/cargo/pull/1540/files


Kestrel SSL/UseHttps Performance Issue

Describe the bug
I have been investigating throughput issues with our ASPNet.Core 2.2 webapp and found that using SSL with Kestrel is a major bottleneck for performance.
To Reproduce
I have created the following minimal app:
Program.cs
using System.Net;
using System.Security.Cryptography.X509Certificates;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;

namespace aspnetcoredemo
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseKestrel(options: options =>
                {
                    options.Listen(IPAddress.Any, 80);
                    options.Listen(IPAddress.Any, 443, listenOptions =>
                    {
                        listenOptions.UseHttps(new X509Certificate2("mypfxfile.pfx"));
                    });
                })
                .UseStartup<Startup>();
    }
}

Startup.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;

namespace aspnetcoredemo
{
    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.Run(async (context) =>
            {
                await context.Response.WriteAsync("Hello World!");
            });
        }
    }
}

I ran it using dotnet version:
Host (useful for support):
Version: 2.2.1
Commit:  878dd11e62
ASPNet.Core version: 2.2.1
On OS:
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=Debian
I used Apache Bench to run a load test on both endpoints with 300 requests and with concurrency set to 100 like so:
ab -k -n 300 -c 100 http://localhost:80/
ab -k -n 300 -c 100 https://localhost:443/
results for port 80 without SSL:
Connection Times (ms)

min
mean
[+/-sd]
median
max

Connect:
0
51
76.6
3
299

Processing:
98
530
259.2
602
995

Waiting:
98
484
229.9
598
995

Total:
102
580
244.1
602
997

results for port 443 with SSL:
Connection Times (ms)

min
mean
[+/-sd]
median
max

Connect:
0
10344
8969.0
7400
43487

Processing:
1
815
892.2
702
12901

Waiting:
0
705
517.9
600
2307

Total:
993
11160
8959.1
8601
43787

As you can see the results are pretty damning for SSL which performs quite a lot worse than I would expect.
These results are consistent with additional tests I have run (external to the host and using various load test approaches) and with our production and dev environments metrics (we tested both with and without using Kestrel with SSL).
Expected behavior
Better performance using Kestrel with SSL
Additional context
I am running my webapp behind nginx as a reverse proxy but I still require internal SSL encryption.
The current performance using Kestrel with SSL is hurting our production environment throughput in a big way.

I did some tests today to get numbers on our dedicated hardware. Using the Plaintext scenario from TechEmpower, setting Connection: close headers on the requests, I found that ASP.NET is faster than Node.js on the same ratio as with reused connections. However, I can also confirm your results that when doing the same on HTTPS then ASP.NET is much slower than Node.js.
I will continue my investigations and check with my colleagues on ways to resolve that.

Thanks! It matches our observation that unless ssl handshake is involved, asp.net core is pleasantly fast.

Current workaround for us:
I added a sidecar container on the pod that is running our app. The additional container is running nginx.
I accept incoming traffic on the nginx container over https and then funnel the traffic to my app container over http on localhost.
This has improved our throughput and response times. For my test case we are down to sub-second response times.

Just checking if you have any updates for benchmarking the issue and solving it? Would be nice to see if you are able to systematically track perf of ssl handshakes as .net core evolves, as well as have clarity on how things might improve when .net core 3 ships.
I've noticed few PRs @stephentoub published/merged which seem to target improving perf in this flow, but hard to tell what's the bigger picture of this effort.

I just added scenarios to our benchmarking. it will track windows, linux, http and https connections creations per second.

From what I saw in profiling, the bulk of the impact comes from https://github.com/dotnet/corefx/issues/35086.

It sounds like most of the impact here is in corefx and the right people are on the case there. Feel free to correct me if I'm misunderstanding :). I'll close this issue here.

Is there another issue tracking this problem? I want to make sure it is still tracked

@yanrez https://github.com/dotnet/corefx/issues/35086


climate use case

ping @maxogden – what was the last point in the checklist ("climate use case") about again? Is that done?

@maxogden The climate dataset is the NASA one? It's still not working for me when I try to download it with Dat Desktop.

@juliangruber could you perhaps shed some light on what needs to be done to tick off this issue? Does this mean that we can tick this off once the NASA dataset can be downloaded? Thanks!

@juliangruber also just assigned you as I think "in progress" means you're working on it. If someone else is working on it please assign them instead. Thank youuuu

assigned @maxogden who iiuc is working on this

Not relevant anymore


Fix cross-compile build failure.

In Build-FoundationMacros, use the build Swift SDK for the build case and when cross-compiling, use the swift syntax build from the build arch binary cache as opposed to the host arch binary cache or else the architecture mismatch will happen.
This fixes the CI failure: https://ci-external.swift.org/job/swift-6.0-windows-toolchain-arm64/192/console

@swift-ci please test

Thanks for the fix. Can we also cherry-pick this to release/6.0 branch?

Thanks for the fix. Can we also cherry-pick this to release/6.0 branch?

I'm on it

@shahmishal Created https://github.com/swiftlang/swift/pull/75988 for release/6.0


Add tooltips to icons

When first using this app, I struggled with interpreting the icons (unmapped, terraformable, etc). This PR adds title attributes to the icons for simple tooltips.

Looks like a neat addition to me. Couple of minor queries to follow...

Looks good to me - thanks! 👍


fix(ui): update relationship cell formatted value when when search changes

Description
Fixes https://github.com/payloadcms/payload-3.0-demo/issues/181
Although issue is about page changing, it happens as well when you change sort / limit / where filter (and probably locale)

[x] I have read and understand the CONTRIBUTING.md document in this repository.

Type of change

[x] Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] Existing test suite passes locally with my changes

This needs a test as well, elsewhere in our e2e test suites (probably Live Preview) Playwright is able to "watch" the network requests being made. That's what we need to do here for two tests at least, 1. to test that changing results (i.e. a new page) triggers new network requests (and updates the cell's HTML), and 2. to test that changing params but not results does not trigger a network request.

Sorry, i could be wrong, but did you guys also consider to populate these server side, since we anyway are retrieving docs in the server component? We still want depth: 0 of course, but populate manually with our dataLoader user's selected relationship columns /  top level relations.
that's also debatable by UX i think, some people prefer this lazy loading thing and some don't want to see that something is still loading but don't might if the request would took a little bit longer.
But of course if a bottleneck here is huge, then i'm totally wrong.

to test that changing results (i.e. a new page) triggers new network requests (and updates the cell's HTML), and 2. to test that changing params but not results does not trigger a network request.

@jacobsfletch I've added the first test - for 2. when you say changing the params but not the results, what do you mean?

Sorry, i could be wrong, but did you guys also consider to populate these server side, since we anyway are retrieving docs in the server component?

Hey @r1tsuu yep in a much earlier version of Payload we did indeed load all relations via the dataloader, but the problem was when you have long pages with many rows on the screen at once (100+). The response was just huge.
Keeping the initial load down as tiny as possible makes sure that the initial load is speedy all the time, and then we can lazy-load relations when they scroll onto the screen. But it's a good thought!
I think this PR is good to go at this point, right? @jacobsfletch you wanna merge and we can get it out in a new beta?
Thank you everyone!

i'm on the fix for that right now - thanks for the help here everyone!

Thanks @jacobsfletch @JessChowdhury for carrying here and @jmikrut for bumping this!


Add pyramid button

Add pyramid button like so with this link https://pyramid.market/collection/0x5dbdedc203e92749e2e746e2d40a768d966bd243df04a6b712e222bc040a9af
I'll add a logo here when I have it


Timezone notation in handler subdue documentation does not work

Hi folks!
Not sure if this is the right place to report documentation bugs—let me know if I should post this elsewhere. I created a handler subdue rule using the "PT" timezone notation indicated in the documentation, assuming that meant "Pacific Time", and found that that did not work correctly. The timezone was instead interpreted using the default system time, which was UTC, and the handler was invoked within the subdue time range. Changing the timezone to "PST" made the handler be suppressed correctly.
I don't know enough about how Ruby handles timezone data to know why this is, but I would suggest you remove the "PT" suggestion from your documentation as it does not work correctly on some systems.
Docs were here:
https://sensuapp.org/docs/latest/reference/handlers.html#subdue-attributes
Debugging info:
2.2.2 :004 > Time.now
 => 2016-08-04 11:45:36 +0000
2.2.2 :027 > condition = {:begin => "9PM PT", :end => "8am PT"}
 => {:begin=>"9PM PT", :end=>"8am PT"}
2.2.2 :028 > subdue_time? condition
 => false
2.2.2 :029 > begin_time = Time.parse('9PM PT')
 => 2016-08-04 21:00:00 +0000
2.2.2 :030 > end_time = Time.parse('8AM PT')
 => 2016-08-04 08:00:00 +0000
2.2.2 :031 > end_time < begin_time
 => true
2.2.2 :032 > Time.now < end_time
 => false
2.2.2 :033 > Time.parse('9PM PST')
 => 2016-08-04 21:00:00 -0800
2.2.2 :034 > condition = {:begin => "9PM PST", :end => "8AM PST"}
 => {:begin=>"9PM PST", :end=>"8AM PST"}
2.2.2 :035 > subdue_time? condition
 => true

Hi @spang, thanks for raising this issue. I think what happened here is that the "PT" timezone designation is honored out-of-the-box by MacOS systems but not on most Linux distributions. I will ensure that we update the documentation to provide an example timezone which works on as expected on Linux platforms.

@cwjohnston Awesome, thank you so much!

(My example is in fact from a Linux system.)

Hi..can we execute a handler after certain duration of time likeevery 10 minutes?


docs: remove pip search recommendation

This is no longer supported and will just error with:
ERROR: XMLRPC request failed [code: -32500]
RuntimeError: PyPI no longer supports 'pip search' (or XML-RPC search).
Please use https://pypi.org/search (via a browser) instead. See
https://warehouse.pypa.io/api-reference/xml-rpc.html#deprecated-methods
for more information.

Also use same URL that error message recommends.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

Thanks @cho-m!


Large resource file causes mix.version() to throw a Fatal Error - JavaScript heap out of memory

Laravel Mix Version: 6.0.10
Node Version: v14.15.4
NPM Version: 6.14.11
OS: Red Hat Enterprise Linux release 8.3 (4GB RAM)
Laravel: v8.24.0

Description:
I've added a video (40MB) to my resources and wanted mix to copy it into the public folder.
When I also add the mix.version() command, then compilation breaks down with the following error:
"FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory"
Steps To Reproduce:

Install Laravel v8.24.0

composer global require laravel/installer
laravel new test

Add a large asset (40MB in my case) to the resources folder

resources/video/test.mp4

Add the last two lines to webpack.mix.js: (app.js and app.css files have not been changed since installation)

const mix = require('laravel-mix');

mix.js('resources/js/app.js', 'public/js')
   .postCss('resources/css/app.css', 'public/css', [ ]);

mix.copy('resources/video/test.mp4', 'public/video/');
mix.version();

Try to compile the assets

npm run prod

Expected Results:

Actual Results:
$ npm run prod

> @ prod /www/research/laravel/test
> npm run production

> @ production /www/research/laravel/test
> mix --production

99% done plugins CustomTasksPlugin
<--- Last few GCs --->

[9435:0x642f0e0]    25082 ms: Mark-sweep 1491.9 (1553.2) -> 1265.4 (1311.5) MB, 254.5 / 0.0 ms  (+ 0.1 ms in 2 steps since start of marking, biggest step 0.1 ms, walltime since start of marking 1992 ms) (average mu = 0.982, current mu = 0.970) allocation [9435:0x642f0e0]    26710 ms: Mark-sweep 1839.2 (1885.3) -> 1027.0 (1068.7) MB, 378.5 / 0.0 ms  (average mu = 0.945, current mu = 0.767) allocation failure scavenge might not succeed

<--- JS stacktrace --->

FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
 1: 0xa04200 node::Abort() [webpack]
 2: 0x94e4e9 node::FatalError(char const*, char const*) [webpack]
 3: 0xb797be v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [webpack]
 4: 0xb79b37 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [webpack]
 5: 0xd343c5  [webpack]
 6: 0xd64f5e v8::internal::EvacuateNewSpaceVisitor::Visit(v8::internal::HeapObject, int) [webpack]
 7: 0xd70f96 v8::internal::FullEvacuator::RawEvacuatePage(v8::internal::MemoryChunk*, long*) [webpack]
 8: 0xd5d17f v8::internal::Evacuator::EvacuatePage(v8::internal::MemoryChunk*) [webpack]
 9: 0xd5d3f8 v8::internal::PageEvacuationTask::RunInParallel(v8::internal::ItemParallelJob::Task::Runner) [webpack]
10: 0xd4fcd9 v8::internal::ItemParallelJob::Run() [webpack]
11: 0xd72ef0 void v8::internal::MarkCompactCollectorBase::CreateAndExecuteEvacuationTasks<v8::internal::FullEvacuator, v8::internal::MarkCompactCollector>(v8::internal::MarkCompactCollector*, v8::internal::ItemParallelJob*, v8::internal::MigrationObserver*, long) [webpack]
12: 0xd7378c v8::internal::MarkCompactCollector::EvacuatePagesInParallel() [webpack]
13: 0xd73955 v8::internal::MarkCompactCollector::Evacuate() [webpack]
14: 0xd85941 v8::internal::MarkCompactCollector::CollectGarbage() [webpack]
15: 0xd41c68 v8::internal::Heap::MarkCompact() [webpack]
16: 0xd43758 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [webpack]
17: 0xd46b9c v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [webpack]
18: 0xd0c4a2 v8::internal::Factory::AllocateRaw(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [webpack]
19: 0xd086f2 v8::internal::FactoryBase<v8::internal::Factory>::AllocateRawArray(int, v8::internal::AllocationType) [webpack]
20: 0xd087a4 v8::internal::FactoryBase<v8::internal::Factory>::NewFixedArrayWithFiller(v8::internal::Handle<v8::internal::Map>, int, v8::internal::Handle<v8::internal::Oddball>, v8::internal::AllocationType) [webpack]
21: 0xe9568e  [webpack]
22: 0xe957da  [webpack]
23: 0x1032b83 v8::internal::Runtime_GrowArrayElements(int, unsigned long*, v8::internal::Isolate*) [webpack]
24: 0x14011f9  [webpack]

Yeah, but probably best to not include very large files as part of your Mix tasks. Do that manually.

Yeah, but probably best to not include very large files as part of your Mix tasks. Do that manually.

I'm also facing the same error in node js 18 with laravel mix - 6
In my case, there are no big media files.


#1469 Google Lighthouse - Links do not have a discernible name

Fixes #1469 Google Lighthouse - Links do not have a discernible name

This is not an English only theme and these features do not relate to core content. There's a reason for the links being the way they are.

how about we pass the strings via site params?


Update package.json

This simply fixes the doc dev due to the mismatch in dependencies. Please note going forward that we should start to plan less frequent releases. This gives enough time to fix any trailing issues and review code.
Moving forward changes to dependencies and other aspects of the package.json or config files should not be modified and pushed so lightly without extensively reviewing their impact on other parts of the codebase.

Moving forward changes to dependencies and other aspects of the package.json or config files should not be modified and pushed so lightly without extensively reviewing their impact on other parts of the codebase

Was this an issue with the @vuepress/client version? Would be nice to know if it wasn't our fault (or mine specifically). The peerDependency list was a bit odd for docs.
I was just thinking earlier today how there doesn't seem to be a need for any major changes anymore. There isn't any major new features that would affect all components. The only thing I can think of is a future 3.3 update to move the TS props interfaces to external files, and to fully script setup transition that 3.3 would allow. Other than that, there doesn't seem to be any need to make any major changes to the library now that script setup is widespread, the workspace is fixed, extraneous imports are now nonexistent, the ci is all working, and everything seems to be in a good state.
There is truly little reason to modify any dependencies. Though, I would like to update to Vue 3.3 and think happy-dom for vitest would be a nice qol idea. And obviously support any future updates of Bootstrap, but there shouldn't be a new one for awhile.
Thankfully, I think we can start to make real progress on new components and further testing out current ones.

ps, you need to include an updated pnpm-lock to fix your checks.

Vuepress core expected the newest version of the client package in order to work. No big deal how it got there. I think we can just specify only @vuepress version so we don't have to worry about future mismatching.
I think we are at a good spot and major changes have already taken place. The organization looks great thanks to you, and moving further we will just have to look out for the official vuepress@next release and 3.3 .  Once we cover 50% test cases and document everything, perhaps we will look forward to the big 1.0 release?
Ill look into changing the lock file, so that the pipeline can do its things.

Excellent! I think we should also be able to contact each other by mail. Would you please email me at<EMAIL_ADDRESS>? I'll send an email to all, including Carlos.
I'll edit this comment to remove my email later.

Excellent! I think we should also be able to contact each other by mail. Would you please email me at . I'll send an email to all, including Carlos. I'll edit this comment to remove my email later.

You should probably just delete the comment, people can still click the "edited" button to view it. That is, if you're actually concerned about it.


Styles: export all mixin use forward

Is your feature request related to a problem? Please describe.
@use "ngx-tethys/styles/basic";

.example {
   basic.thy-option();
}

This will throw an error: SassError: Undefined mixin

Describe the solution you'd like
update all @use to @forward in styles/mixins/index.scss

@luxiaobei How about this issue？


Add a SwiftPM build plugin to generate Swift wrappers for Java classes

Introduce the plugin Java2SwiftPlugin, which will invoke Java2Swift to generate Swift wrappers for the specified Java classes. Each SwiftPM target that uses this plugin must contain a file named Java2Swift.config that specifies options for the Java2Swift tool. This is a JSON file with a top-level dictionary that currently can contain keys for the Java class path (classPath) and a dictionary called classes whose keys are Java canonical class names (such as java.util.Vector) and whose values are the corresponding Swift names. For example:
{
  "classes" : {
    "java.util.Vector" : "JavaVector"
  }
}

will translate the class java.util.Vector into the Swift type JavaVector. The resulting Swift files will become part of the Swift module that uses this plugin.
I've updated the JavaKitSampleApp to make use of this, albeit in a very narrow way that is not at all compelling. The user guide also needs updating.
Fixes issue #16

I have improvements I'd still like to make (e.g., handling Jar files, documenting this new path), but this is a good start


PaginationView: Dynamic content no longer working?

Dynamic content loading (https://github.com/SwiftUIX/SwiftUIX/issues/50) doesn't seem to work anymore.

Deploy Target iOS 14
Xcode 12.0.1 (12A7300)
SwiftUIX on master (0cee3386e843ebd3e442d5e6afa028356e28c539)

Plain Test Project with one view:
struct ContentView: View {
    var body: some View {
        PaginationView {
            ForEach([1, 2, 3], id: \.hashValue) {
                Text(String($0))
            }
        }
    }
}

Result:

While
struct ContentView: View {
    var body: some View {
        PaginationView {
            Text("1")
            Text("2")
            Text("3")
        }
    }
}

works as expected.
I would assume that initializer
    public init<Data, ID>(
        axis: Axis = .horizontal,
        transitionStyle: UIPageViewController.TransitionStyle = .scroll,
        showsIndicators: Bool = true,
        content: () -> ForEach<Data, ID, Page>
    )

will be called, but as far as I can see it's not. Instead the ArrayBuilder initializer is called:
    public init(
        axis: Axis = .horizontal,
        transitionStyle: UIPageViewController.TransitionStyle = .scroll,
        showsIndicators: Bool = true,
        @ArrayBuilder<Page> content: () -> [Page]
    )

which produces a pages array of count 1:

@mlinzner fixed - had to sprinkle in @_disfavoredOverload to improve overload resolution. SwiftUI confuses the compiler a lot.


CostManagementClient does not return tags associated with resource groups

Package Name:  - azure-mgmt-costmanagement
Package Version: 4.0.1
Operating System: Linux
Python Version: 3.11.2

Describe the bug
CostManagementClient does not return tags associated with resource groups
To Reproduce
Steps to reproduce the behavior:

Run CostManagementClient  with the following query.

{
   "type":"ActualCost",
   "dataSet":{

       "aggregation":{
         "consumedquantities":{
            "name":"UsageQuantity",
            "function":"Sum"
         },
         "totalCostUSD":{
            "name":"PreTaxCostUSD",
            "function":"Sum"
         }
      },
      "granularity":"none",
      "grouping":[
         {
            "type":"Dimension",
            "name":"ResourceGroupName"
         },
         {
            "type":"Dimension",
            "name":"SubscriptionName"
         }
      ],
      "include":[
         "Tags"
      ]
   },
   "timeframe":"Custom",
   "timePeriod":{
      "from":"from_time",
      "to":"to_time"
   }
}

The type column output I get
'columns': [<azure.mgmt.costmanagement.models._models_py3.QueryColumn object at 0x7f757ca238d0>, <azure.mgmt.costmanagement.models._models_py3.QueryColumn object at 0x7f757ca23950>, <azure.mgmt.costmanagement.models._models_py3.QueryColumn object at 0x7f757ca23990>, <azure.mgmt.costmanagement.models._models_py3.QueryColumn object at 0x7f757ca239d0>, <azure.mgmt.costmanagement.models._models_py3.QueryColumn object at 0x7f757ca23a10>]
Expected behavior
The column output should be as per below (which can be validated from API play ground in Azure portal by running the same query with latest API version i.e. "2023-11-01"). the scope /subscriptions/{subscription_id}/providers/Microsoft.CostManagement/query?api-version=2023-11-01

 "columns": [
      {
        "name": "UsageQuantity",
        "type": "Number"
      },
      {
        "name": "PreTaxCostUSD",
        "type": "Number"
      },
      {
        "name": "ResourceGroupName",
        "type": "String"
      },
      {
        "name": "SubscriptionName",
        "type": "String"
      },
      {
        "name": "Tags",
        "type": "Array"
      },
      {
        "name": "Currency",
        "type": "String"
      }
    ]

Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Tried to run the cost management client by specifying the latest version of API, but still does not work.
cost_management_client = CostManagementClient(credential=cost_credential, api_version="2023-11-01")

Hey, thanks for the issue. Seems like you are getting Python objects QueryColumn which have the name and type properties when you expect the JSON/dict representation of it  (i.e. the Python object deserialized) in the response?
@msyyc Is this expected?

@pvaneck, the primary problem due to the bug is the JSON output returned by the query is missing all the tags for the resource groups. Other information seems to be returned as expected i.e. resource group name, subscription name, costs etc. Expected out put should include an array of each resource groups long with other values specified above.

@ChenxiJiang333 Please help on this issue

got it

Hi @ash-dey-sa, the issue occurs because the model QueryDataset does not have the property include, which caused serialization bug to build the correct request body. And since SDKs is auto generated by swagger definitions, I have opened issue https://github.com/Azure/azure-rest-api-specs/issues/29719 to request an update for the swagger. Once the swagger is updated, python would release a new version to fix the issue.

Look forward to the bug fix. Thank you for your help.

Hope we can have a quick response.

hi. is there any updates on this issue?

hi. is there any updates on this issue?

Hi, since it's a swagger issue, I have opened another issue for it. Please follow https://github.com/Azure/azure-rest-api-specs/issues/29719.

Closing the issue.
Please use https://github.com/Azure/azure-rest-api-specs/pull/30996 to track it.


Clickable table rows

Rather than having just anchor of the td clickable, make the whole row clickable when JavaScript is enabled.

This change didn't work out because it broke text selection. (Luckily there was a beta branch to try it out on!) Also, the mouse cursor ought to change to a pointer on hover. Thirdly, users would prefer just one column to be clickable, (while I am sure they are right, I don't understand why!)
The text selection could be fixed by sticking twice as much code in, but such a small usability tweak doesn't warrant that. (At least, not mixed in with the PHP).
It might be useful for mobile mode apparently, however there is a small chance this may increase accidental clicks, I am not sure. I wonder whether the users have any better suggestions for improving mobile mode, if anything?


⚠ API (search) has degraded performance

In 270af1a, API (search) (https://api.dev.package-search.services.jetbrains.com/search-packages) experienced degraded performance:

HTTP code: 200
Response time: 6535 ms

Resolved: API (search) performance has improved in 4381a8d after 19 minutes.


Adding verbosity option in version downloads

Description
Fixes #164 by adding a verbosity customization verbose option to the version.download() function. The default is set to true, and thus will not affect any users not wishing to disable verbose outputs.
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] This change requires a documentation update

How has this change been tested, please provide a testcase or example of how you tested the change?
Yes. Tested version downloads with the verbose option set true, false, and unset and performed as expected.
Also tested the entire traditional export code snippet from the Roboflow UI, performed as expected with no changes to behavior.
Any specific deployment considerations
None
Docs

[x] Docs updated? What were the changes:
Added info on the verbose option

@stellasphere Great work! One thing that comes to mind is that wget may be redundant.
@paulguerrie @yeldarby Should we remove wget altogether and use requests? I don't see what benefit this additional dependency brings.

@stellasphere Great work! One thing that comes to mind is that wget may be redundant.
@paulguerrie @yeldarby Should we remove wget altogether and use requests? I don't see what benefit this additional dependency brings.

Yes! I'm for that.

@stellasphere I have written a PR for removing wget: https://github.com/roboflow/roboflow-python/pulls

The PR to remove wget has been merged (https://github.com/roboflow/roboflow-python/pull/179). This will resolve the verbosity issue.


[bug]: Intsall.sh unter Ubuntu 24.04

Is there an existing issue for this problem?

[X] I have searched the existing issues

Operating system
Linux
GPU vendor
Nvidia (CUDA)
GPU model
NVIDIA GeForce RTX 4070/PCIe/SSE2
GPU VRAM
12
Version number
4.2.23
Browser
chrome, firefox
Python dependencies
No response
What happened
After updating from kubuntu 23.10 to 24.04, install.sh aborts with this message. This happens under Python 3.10, 3.11, 3.12.:
./install.sh
Initializing the installer. This may take a minute - please wait...
Traceback (most recent call last):
File "/home/jens/Downloads/InvokeAI-Installer/./lib/main.py", line 50, in
inst = Installer()
^^^^^^^^^^^
File "/home/jens/Downloads/InvokeAI-Installer/lib/installer.py", line 49, in init
self.bootstrap()
File "/home/jens/Downloads/InvokeAI-Installer/lib/installer.py", line 81, in bootstrap
venv_dir = self.mktemp_venv()
^^^^^^^^^^^^^^^^^^
File "/home/jens/Downloads/InvokeAI-Installer/lib/installer.py", line 68, in mktemp_venv
venv.create(venv_dir.name, with_pip=True)
File "/usr/lib/python3.11/venv/init.py", line 468, in create
builder.create(env_dir)
File "/usr/lib/python3.11/venv/init.py", line 76, in create
self._setup_pip(context)
File "/usr/lib/python3.11/venv/init.py", line 358, in _setup_pip
self._call_new_python(context, '-m', 'ensurepip', '--upgrade',
File "/usr/lib/python3.11/venv/init.py", line 354, in _call_new_python
subprocess.check_output(args, **kwargs)
File "/usr/lib/python3.11/subprocess.py", line 466, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/tmp/invokeai-installer-tmpclp6vekd/bin/python3.11', '-m', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
What you expected to happen
Start the installation (this wasn't a problem under Kubuntu 23.10).
The installation carried out under 23.10 (Invoke AI v4.2.2post1 also runs without any problems under Kubuntu 24.04 (both Python 3.10, 3.11, 3.12).
I think the problem is in front of the computer :-(.
How to reproduce the problem
No response
Additional context
No response
Discord username
No response

The installer didn't change between v4.2.2 and v4.2.3 (hasn't changed in a while actually). I suspect you are missing some python related things. I'd suggest using pyenv as a simple way to get a reliable python install.
Also, the installer will refuse to install if it is run with python 3.12. You must have something funky going on if it works with 3.12 - like, it's not actually using the python you think it is using.

Good morning,
maybe misleading (sorry - google translation):
invoke.sh also works after updating to ubuntu 24.04 (with python 3.12)
install.sh doesn't work, the mentioned message on Python 3.10,  3.11,  3.12
Thanks for the reply

Hello,
I'm a little further along now. I have now installed Python 3.11.9 with pyenv and it is running :-).
insall.sh starts.  Please try downloading the latest version of the installer and install again.
Cuda (Ubuntu-Version) (sudo apt-get install nvidia-cuda-dev  nvidia-cuda-toolkit)
and xformers (pip install xformers) are installed.
Just discovered: reinstalling to a different directory works - update doesn't work
my Kubuntu is a standard update from 23.10 to 24.04 - invoke -> /home/username/invokeai
Thanks for the reply

There is no update functionality. You must use the installer and specify the same install directory as the initial install to update the application packages.
The error message indicates that python 3.11 is still not being used. You'll need to ensure that your PATH is set correctly so that python3 points to it.

Hello,
I did the update as you wrote. I know that there is no special update. It always worked under Kubuntu 23.10 (since invokeai 3.x).
I installed python 3.11.9 with pyenv. python -version reports 3.11.9.
If I install in the existing directory /home/username/invokeai, the error message mentioned appears (last post from me). Installing in a different directory works.
This probably won't work with the wrong Python version either.
Best regards and thanks
sorry -translation is google

Ok, next step - delete the virtual environment created by the installer and try again, ensuring that python3 points to the 3.11 python binary.

Good evening,
worked now. I installed invokeai in a new directory and copied the database, models and images. Now invokeai is running again.
Thank you for the great support.

Good to hear, you're welcome. FWIW, that's accomplished the same thing as deleting the virtual environment as suggested in a previous reply.


BUG:The contents in the card are not completely visible

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
When we first visit the site , the signup/signin form is looking like this

I will modify the page and get this done
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

i want to do this, I can more upgrade this signup page.


"...dh key too small" error

I get in trouble when trying the line "aifeynman.get_demos('example_data')". I'm using Ubuntu 20.04 and Python 3.8.5. I've tried by lowering security level in /etc/ssl/openssl.cnf file. But the wise men said that I should contact the administrator of the service  instead of trying to change seclevel. Please help me to fix this error. Thank you!

I came across the same issue. How did you solve the problem? Any suggestions will be helpful, thanks in advance.

Or just download the files from GitHub, they are in example_data folder


Add fixed grid count to only show 7days

Add an option to choose if want to have a set fix grid count on adapter.

Thanks for contributing! What is the use case for not having the fixed width?

Thanks for contributing! What is the use case for having the fixed width?

I have an app that needed the calendar to be inside a dialog. For UI design it does not look good and confusing sorry. So I thought adding an option for fixed width would be good.

Could you show a visual representation of this(screenshot maybe)?

Could you show a visual representation of this(screenshot maybe)?

Hello. Here is the screenshot

I see, how does the fix make it look now?

I see, how does the fix make it look now?

Here's what it looks with the fix

Using Example 5, I am able to achieve the same result this way:
val size = 120
binding.exFiveCalendar.daySize = Size(size, size)
binding.exFiveCalendar.updateLayoutParams<ViewGroup.MarginLayoutParams> { width = size * 7 }

Using Example 5, I am able to achieve the same result this way:
val size = 120
binding.exFiveCalendar.daySize = Size(size, size)
binding.exFiveCalendar.updateLayoutParams<ViewGroup.MarginLayoutParams> { width = size * 7 }

Awesome. Then you can closed this if you want.


Add tutorial on measuring and monitoring inlets

Signed-off-by: Han Verstraete (OpenFaaS Ltd<EMAIL_ADDRESS>
Description

Add documentation on the different monitoring options for inlets tunnels. Add a detailed overview of the available Prometheus metrics.
Motivation and Context

Improve documentation for monitoring inlets and the metrics it exposes.
How Has This Been Tested?

Verified locally
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I've read the CONTRIBUTION guide
[x] I have signed-off my commits with git commit -s

Thank you @welteki


bug after install rust plugin

Hello team,
The newest release 0.1.3 on macOS I always have the following highlights, which I cannot make any change using keyboard:

I cannot do anything to the blue highlighted text. Even after reinstall it, still the same.
Any idea?
Thanks,
Jianshu

Those are inlay hints, they usually show inferred type of variables

master has toggle inlay hints with which you can disable it if you want

Thanks！ I do not want to delete the entire type and reenter in a lot of cases.
Thanks
Jianshu

Hello Team,
I have another question related to installed plugins. How do I uninstall it? I noticed that memory consumption of just one window for rust plugin is already 500M, 2 windows will be like 700M+ and three windows 1+ Gb. This is not very efficient in terms of memory? If 2 windows are showing the same language, why memory increases by that much, assuming that the code hints module of a give language is the same for all windows?
Thanks,
Jianshu

Memory increases depending on how much rust-analyzer has to know about workspace.
Disabling/uninstalling plugins will be available in next release.

If 2 windows are showing the same language, why memory increases by that much, assuming that the code hints module of a give language is the same for all windows?

It doesn't work that way

Thanks for the quick response. I will just work in less than 2 windows and wait for new release (some times only one is needed to code while others windows are for reference et.al.  but any way I get it.)
Thanks,
Jianshu

Interesting is even though you close the second window but keep only one, memory will still be 700M+ instead of going back to ~500M unless you complete close all windows and reopen. Just for your reference. I am particularly fastidious about memory consumption for code editors and I hate  Visual studio code and other editors because of this.
Thanks,
Jianshu

Interesting is even though you close the second window but keep only one, memory will still be 700M+

Probably because you are using 0.1.3 version that doesn't have fix for closing LSP servers

Yes I am using 0.1.3. Does the nightly version work?
Jianshu

Does the nightly version work?

It has the fix, yes

Performance issues has been fixed


Luck Balance

Problem link :-   https://www.hackerrank.com/challenges/luck-balance/problem
Level - Easy.
I want to solve the problem in c++.

Can you assign me this issue??

I can do this in Java, if open?

@avinash14022002 Are you working on this?

@adityabisoi  yess
will generate PR by night

I am solving in python

I have implemented the Luck Balance algorithm using Java, also created a PR for the same, kindly review my code and merge it.


Remove global CONFIG_PATH variable

With dtoolcore 3.3.1 there is no longer a need to provide the global CONFIG_PATH variable to DataSet.from_uri calls.

Remove the global variable CONFIG_PATH from dtool-info.
Remove all references to CONFIG_PATH in all other dtool-* packages

The 3.9.0 release of dtoolcore included the helper functions:

dtoolcore.utils.get_config_value_from_file
dtoolcore.utils.write_config_value_to_file

reducing the need to make use CONFIG_PATH.


Is the latest update of react-dev-utils published to npm?

Hi,
I have recently merged the latest version of create-react-app to my forked version of create-react-app. When I run it in my fork its all good but, now, when I have published my version of react-scripts to npm and then bump up the version in the repo which depends on the new version I get:

Error: Cannot find module 'react-dev-utils/chalk'
when I run npm start.

So, from my point of view, it seems like the new update to react-dev-utils has not been published to npm or am I missing something? The version of react-dev-utils, in my version of react-scripts, is:

"react-dev-utils": "^7.0.1"

Thanks for everything you do!
Edit
You can see by downloading the latest .tgz file, https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-7.0.1.tgz, that chalk.js is missing.

I see, thanks for the tips @mrmckeb ! I will try.

Let me know if that works, and we'll close this off for the moment.

@mrmckeb, after some time trying to get around my issue, I decided to undo my merge with upstream. I couldn't figure out how to get around the need of editing all the chalk imports. The use case I have with my fork is that I can install CRA with --scripts-version. So I guess I would have to publish my version of react-dev-utils to npm and then change all imports referencing the original one?
The main reason I wanted to update my fork was the webpack-dev-server update so I updated it manually.
I rather want to make edits that is directly connected to my needs but I guess, with time, it is inevitable?

I think you could install it locally, perhaps look to yarn resolutions to help you - but this is something we need to get better at managing when people are forking.
Again though, for safety, I would encourage you to never pull in from untagged commits... just for this exact reason. Breaking changes are hard to spot...

I'll close this off for now, as this will be solved we release the next version of dev-utils (which should be soon I believe).
Let me know if there's anything else I can help with.


Add EngineHoursTimer object to code base

Add EngineHoursTimer object and all associated testing to code base for use in the DM33 message handling.

#99 Updated and merged


my vs code  commit suicide !!

Wake up after a sleep.
Boot up computer and found my vscode has been uninstalled
and i Reinstall it
fortunately, all Plug-in, configuration Be retained
No problem now.
Just reporting to you.

VSCode Version:1.28
OS Version:6.1.7601 Service Pack 1 Build 7601

Does this issue occur when all extensions are disabled?: No

6.1.7601 Service Pack 1 Build 7601
Suicide version, 1.28

@zhangenming
By "unmounted" do you mean that VSC got uninstalled?  No evidence of the program after coming out of sleep?

https://pic4.zhimg.com/50/v2-b6fbb71c758c3b859de3b074f1a01700_b.jpg
after auto uninstalled  screenshot

https://pic4.zhimg.com/50/v2-b6fbb71c758c3b859de3b074f1a01700_b.jpg

https://pic1.zhimg.com/50/v2-4bb4e08d58a735808aae044e96d7cb34_b.jpg

@zhangenming I don't have permission to view the attached images.

http://wx1.sinaimg.cn/mw690/0060lm7Tly1fw6jv9o9ejj30is094n19.jpg
http://wx3.sinaimg.cn/mw690/0060lm7Tly1fw6jv9oe0rj30ce06s400.jpg

Cannot act on the issue given the information provided.


RBAC BaseManager - check if rulename === ''?

I'm referring to this function:
    protected function executeRule($user, $item, $params)
    {
        if ($item->ruleName === null) {
            return true;
        }
        $rule = $this->getRule($item->ruleName);
        if ($rule instanceof Rule) {
            return $rule->execute($user, $item, $params);
        } else {
            throw new InvalidConfigException("Rule not found: {$item->ruleName}");
        }
    }

You have $item->rulename === null check, what about $item->rulename === '' (empty string check)?
Some migration utilities create (like https://github.com/c006/yii2-migration-utility) create insert data with rulename as empty string.
Does this make any sense to you, or should I post issue to yii2-migration-utility github?

Posting to yii2-migration-utility is a good idea.


Feature: stack context for propertyMapper

This passes the current stack of nodes to each transformer, which in turn provides this to propertyMapper. This means that propertyMapper can now do things like inspect which groups (layers) the node is contained in.
E.g.:
const groupPropertyMapper = (node, { stack }) => {
  return {group: stack.some(node => node.attributes.id === 'foo') ? 'foo' : 'not-foo'}
}

LGTM! Thanks :)


train.lua looks for cutorch even though "-gpu 0"

# th train.lua -input_h5 data/tiny-shakespeare.h5  -input_json data/tiny-shakespeare.json -gpu 0
/root/torch/install/bin/luajit: /root/torch/install/share/lua/5.1/trepl/init.lua:389: module 'cutorch' not found:No LuaRocks module found for cutorch

I think you mean
if opt.gpu > 0 and opt.gpu_backend == 'cuda' then
and not
if opt.gpu >= 0 and opt.gpu_backend == 'cuda' then

You need to specify -gpu -1 to train on the CPU. GPU numbers are zero-based in torch-rnn.

Yes -gpu -1 will execute code in CPU mode. For more about command line argument passed to it
Look - https://github.com/jcjohnson/torch-rnn/blob/master/doc/flags.md#training


jsondecodeerror if pipfile.lock does not exist

seems like a recent regression
$ pipenv install
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Traceback (most recent call last):
  File "/Users/johria/.pyenv/versions/3.6.2/bin/pipenv", line 11, in <module>
    load_entry_point('pipenv==8.0.8', 'console_scripts', 'pipenv')()
  File "/Users/johria/.pyenv/versions/3.6.2/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Users/johria/.pyenv/versions/3.6.2/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Users/johria/.pyenv/versions/3.6.2/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/johria/.pyenv/versions/3.6.2/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/johria/.pyenv/versions/3.6.2/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Users/johria/.pyenv/versions/3.6.2/lib/python3.6/site-packages/pipenv/cli.py", line 1732, in install
    do_init(dev=dev, allow_global=system, ignore_pipfile=ignore_pipfile, system=system, skip_lock=skip_lock, verbose=verbose, concurrent=concurrent, deploy=deploy)
  File "/Users/johria/.pyenv/versions/3.6.2/lib/python3.6/site-packages/pipenv/cli.py", line 1244, in do_init
    do_lock(system=system)
  File "/Users/johria/.pyenv/versions/3.6.2/lib/python3.6/site-packages/pipenv/cli.py", line 1110, in do_lock
    lockfile['_meta']['host-environment-markers'] = simplejson.loads(c.out)
  File "/Users/johria/.pyenv/versions/3.6.2/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/Users/johria/.pyenv/versions/3.6.2/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/Users/johria/.pyenv/versions/3.6.2/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Can you try the latest version v8.1.0?

this is ussually because of an error in your environment.

I'll add a better traceback when that occurs.

There is no regression, something is wrong with your virtualenv.

thanks @kennethreitz, you're right it was from an older project which was installed using an older version of pipenv
$ pipenv --rm
$ pipenv install

fixed it

I added instructions for when this occurs now.

v8.1.1 released, which includes this.

This left an empty Pipfile.lock:
[bebo@albtop]$ ls -l
-rw-r--r--   1 bebo bebo    0 Nov 21 18:12 Pipfile.lock

Doing a pipenv lock again, now fails with the same traceback reported by the OP.
This is reproducible with a:
$ > Pipfile.lock
$ pipenv lock
...
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Could we include a test case catching whether the .lock file is empty? I could do a PR. What do you think?
PS: Hi @kennethreitz, I'm using pipenv and many of your other libraries, and they are great! ;-)

Oh, good idea, I missed this earlier. Would appreciate a test case for that, absolutely


Add circuit breakers (queue size limitations) to prevent unbounded memory consumption

We'll be taking a look at this as part of #72


Disk resized, but /dev/sda hasn't increased

Without using this plugin, the default size for /dev/sda is 9.2G using a Debian Jessie box.
I installed the plugin and set a disk size of 15G. It looks like the disk size has been increased, when I run fdisk -l I get Disk /dev/sda: 15 GiB,<PHONE_NUMBER>0 bytes, 31457280 sectors
But running df -h shows
Filesystem                                             Size  Used Avail Use% Mounted on
/dev/sda1                                              9.2G  1.6G  7.2G  18% /

I tried deleting all partitions, and making a new sda1 with the 15GB, but when I saved and rebooted, I could no longer SSH into the box

I got same problem.
I try an alternative way to modify disk size : issue
cd ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-trusty64/20150609.0.9/virtualbox/ VBoxManage clonehd box-disk1.vmdk tmp-disk.vdi --format vdi VBoxManage modifyhd tmp-disk.vdi --resize 61440 VBoxManage clonehd tmp-disk.vdi resized-disk.vmdk --format vmdk rm tmp-disk.vdi box-disk1.vmdk mv resized-disk.vmdk box-disk1.vmdk
And same problem subsist.

@mehdmehd  and @paul-gene, this plugin only changes physical size of the disk. It doesn't expand logical volumes. That is why "df -h" command output doesn't change. When you use this plugin you can see the following message in the log during "vagrant up" command:
"You may need to resize the filesystem from within the guest."
First, check that Virtual box, in the storage settings of your virtual machine, shows the desired size of your hard disk. If the size is correct, it means that the plugin has done its job.
The procedure of resizing logical volumes may differ depending on your vagrant box.
I can recommend you to look at How to automatically resize virtual box disk with vagrant.
For example, for "hashicorp/bionic64" your Vagrant file can look like this:
Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/bionic64"

  # Extend disk size
  config.disksize.size = '200GB'
  config.vm.provision "shell", inline: <<-SHELL
    parted /dev/sda resizepart 1 100%
    pvresize /dev/sda1
    lvresize -rl +100%FREE /dev/mapper/vagrant--vg-root
  SHELL
end

I was using the above snippet on bento/ubuntu-18.04 for some time; I've just updated to bento/ubuntu-20.04 (and also tried ubuntu/focal64) and it doesn't seem to work (vagrant 2.2.15, manjaro).
    your-vm: Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?

    your-vm:   0 physical volume(s) resized or updated / 0 physical volume(s) not resized
    your-vm:   Failed to find physical volume "/dev/sda1".
    your-vm:   Volume group "vagrant-vg" not found
    your-vm:   Cannot process volume group vagrant-vg

I've also tried piping echo yes and just yes into pvresize.

@clbarnes I know it's late, but for those that are facing the same issue, here's the snippet that works on bento/ubuntu-20.01 :
Vagrant.configure(2) do |config|
  config.vm.box = 'bento/ubuntu-20.04'
  config.disksize.size = '100GB'

  config.vm.provision "shell", inline: <<-SHELL
    sudo sgdisk /dev/sda -e
    sudo parted /dev/sda resizepart 3 100%
    sudo pvresize /dev/sda3
    sudo lvextend -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
    sudo resize2fs -p /dev/mapper/ubuntu--vg-ubuntu--lv
  SHELL

@PolarGoose Snippet doesn't work on bento/ubuntu-20.01 because the partitions names and indexes have changed. The script has to be tweaked a bit to work again with that ubuntu version.
I think that you can update the script for any OS. You can find partitions names and indexes using the process described on the following article : https://medium.com/@kanrangsan/how-to-automatically-resize-virtual-box-disk-with-vagrant-9f0f48aa46b3
Hope that it helps.


Fix issues with sysadmin check and parsing allowed organizations

Description
Sysadmin check was never passed as .get('sysadmin') was always None, parsing allowed organizations was failing as user_orgs sometimes expected to be list of strings and sometimes list of dicts.
What has changed:

Fix sysadmin check in after_show.
Added sysadmin check to after_search.
Fixed parsing user_orgs in various checks.

Checklist

[ ] Contains schema changes.
[ ] Schema changes require migration of existing data.
[ ] Contains migration script for existing data.
[ ] Changes should be covered by tests.
[ ] Changes are covered by tests.

Does this have a design impact ?

[ ] Yes
[x] No

Looks good!


Click events on touch devices

Problem:
I have click events on sortable lists and they don't trigger on touch devices because as soon as you touch, sortable triggers. Any way around this?
Tested on Android - Huawei P20 Pro
iOS - Seems to be fine on an iPad

@sadikyalcin Try increasing the touchStartThreshold option

Having the same issue on Android only (iPhone is Okay). Setting touchStartThreshold=50 didn't help.

Fixed my issue by using the following setting:
filter: ".ignore-elements", // Selectors that do not lead to dragging (String or Function)

I have the same problem but only when adding a filter. On the element I put the filter, the click event doesn't work.

It was fixed for me setting the preventOnFilter option to false.


MoveToPokemonMap: Catch all and filter by standard catch.

Expected Behavior
There should be an option at worker MoveToMapPokemon.catch to simply move to all Pokemon. ( Maybe the current one shouldn't be there??). The Pokemon should be filtered later using the default catch option at the config.
Actual Behavior
We need to manually specify all pokemons we want MoveToMapPokemon to go to.
Other Information
OS:
Git Commit: 563f898f61233ff86d38d83b68d8399c1f63051b

Please use the issue template properly

@k4n30 what's the propose of the catch section when I'm using mode = dist? Shouldn't it be optional?

https://github.com/PokemonGoF/PokemonGo-Bot/blob/dev/docs/configuration_files.md#sniping-movetolocation


Create 2.9 release bundle

We decided in the catch-up not to create a new bundle since we are not releasing anything new, but to stay with the 2.8 bundle.


Need help configuring Crashplan pro with Docker

I have everything setup and backing up but have 1 major issue.  I have selected files for backup, but crashplan is showing 147 TB of data, when I really have about 2.3TB.  I have only selected certain files, why is it thinking I am trying to backup all of my hard drive space?  Is there a setting I am missing?
Thanks,
Brian

Are you running on a Synology NAS?  If yes, make sure to no backup /volume1/@docker.

Closing this issue.  Please re-open if needed.


Logo update JSB-614M.png

@huangsuyu can you please review and merge?

Hi @huangsuyu please let us know if we must do anything else for merging?


BUG: Prototype doesn't show all permits available, as promised on first page

So I think the place that should route people to business and trade permits is the page titled "Are you a resident?"
I don't know what the content for the radio button options should be though. What do you think @lizziebruce?

@sanjaypoyzer @EUzkuraityte couple of questions

is it ever the case that a visitor (guest) would apply for their own parking permit? Doesn't the resident apply for a visitor permit for their guest? Is this something you think needs to change about the way the service is run @sanjaypoyzer?

are there any more types permits users can apply for via this service @EUzkuraityte? So far we have resident's, visitor's, trade/business.

Copy feedback
Dependent on answer to 1., change to "I'm a guest of a resident." or "Yes but I'm applying for a guest"– but this is an inelegant solution so please see new copy version at bottom of this comment.
"I run a business" also needs to be changed to something like "I work in Argleton", as you can get a trade parking permit without being the director of the business.
Evidence vvv
Wandsworth has a good definition:
Trade permits are available to those who are working as trades people, e.g. plumbers, builders etc, at a property within a Controlled Parking Zone (CPZ) which is not their permanent place of employment.
And Oxford has:
Permits are for use in the vehicles owned by or hired or leased to a business or registered to employees of the business...
Therefore I'd rephrase this whole section as below. @EUzkuraityte please advise on whether we need to clarify type of work further based on the pilot participants.

I need to park in Argleton because:
O I live here
O I work here
O I'm visiting someone who lives here

or

I need a permit to park in Argleton because:
O I live here
O I live here, and have a visitor
O I work here

@lizziebruce
visitors would never apply for visitor permits, only residents can do it and then distribute to their visitors as they see fit. I believe the reason behind it is that these two types of permits allow to park in residential parking bays, whilst city visitors should not be using those and park in the designated bays or car parks.
Here is the info from Pete re: permit types offered by councils: 'We know there is a need to apply for residents and visitors permits at the same time. We also know that where permit limits allow it (especially with visitors scratch cards) there is a need to buy more than one at a time.
Text file attached contains all the variation in permit type and zone for participating councils
permit types.txt'
Versions 2 and 3 look correct to me, probably 2 looks better. I think 'work bit' needs a little bit of tweaking as, depending on a council,  business permits can be applied for:

zones that you live in (in the area or CPZ) and, therefore, need to park your work / business car in the residential bay next to your home.
if the business address is within the CPZ
some can be vehicle specific, some transferable,
etc...

I'd say let's not spend more time on this, as we'll never be able to capture all possible reasons for why people apply for a business permit.. If you can make it more generic and leave it up to councils to amend or add an appropriate option, that'd be ok.

@EUzkuraityte OK shall we use the 2nd copy suggestion (pasted below for clarity) in the prototype then with the assumption that individual councils can tailor the subsequent routing steps to reflect the full range of visitor/work permits available from that particular council, and leave the user to choose between live/work reasons as most appropriate, if it is for the same space (as I've understood from your response)?

I need a permit to park in Argleton because:
O I live here
O I live here, and have a visitor
O I work here

linking to #584


Add a survey_visit Endpoint

Overview
We need a suvery_visit (previously HOMESURVEY) endpoint with model/view/controller.
Attributes

Id
homeId
surveyorId
surveyId
surveyCompleted
True, false

see https://www.forcedive.com/surveyor/dashboard

This actually exists in the app as suvery_visits right now, but the endpoint needs to be updated and created.

ah cool--thanks for the context.
So are we just looking to update/edit the existing survey_visits endpoint? Or do we need to add a new, survey_visit endpoint, too?

@smcclure17 Apologies for the tardy reply. The survey_visit endpoint is set, so just needs adjusting so that its responses conform to the specification in the original Issue. For example it will need the filtering functionality enumerated, as well as pagination.


stage1-usr: Support local systemd source for offline builds

Local systemd source trees are useful here for packagers to build usr_from_src without requiring network access.  This differentiates between local and remote systemd sources by checking if the value from ./configure contains "://".  If the string is found, the build will preserve existing behavior.  If not, the value is interpreted as a direct specification of the source directory path.

@fabiokung would you mind a review and perhaps a quick test that it doesn't break your setup?

@lucab will do.
Meanwhile, I've been using --with-stage1-systemd-src=file:///path/to/local/clone on a local clone without network access successfully for a while. Is that good enough, or do we really need to support non-git repos locally?

This is for building RPMs where you'd only have the source archive, so yes, it is best to not require Git.

My custom stage1-src flavor build works fine with this. Only two nits:

--with-stage1-systemd-revision is a noop when the systemd src dir is not a git repo. Add a few sentences explaining this on ./configure --help (or docs elsewhere)?
make clean will wipe your local systemd directory, which bit me a few times as I was pointing to a local source directory I was working on. Consider disabling the rm -rf ${RKT_STAGE1_SYSTEMD_SRC} when it is a local dir, or copy contents elsewhere for the build.

Otherwise LGTM.

I've added a note to the revision option description, and I've changed the Makefile to copy the local directory instead of using it directly.  This should handle make clean properly, and it's probably better for using non-temporary systemd source paths anyway, since the build system would write additional files into the source directory.

cool, re-tested and LGTM.
I should mention that I didn't have any custom patch files being applied to systemd, so I didn't test that. But glancing at the code applying them, it looks fine to me.


3.0.1版本 创建表时报错ERROR 1064 (HY000): Unexpected exception: fail to create tablet: 10012: [create tablet failed]

环境:分离计算模式
环境:3.0.1
Steps to reproduce the behavior (Required)
CREATE TABLE goods1 (
item_id1 int(11) NULL COMMENT "",
item_name varchar(65533) NULL COMMENT "",
price float NULL COMMENT ""
) ENGINE=OLAP
DUPLICATE KEY(item_id1, item_name)
COMMENT "OLAP"
DISTRIBUTED BY HASH(item_id1) BUCKETS 6
PROPERTIES (
"replication_num" = "1",
"enable_storage_cache" = "true",
"storage_cache_ttl" = "2592000",
"enable_async_write_back" = "false",
"compression" = "LZ4"
);
Expected behavior (Required)
Real behavior (Required)
StarRocks version (Required)

You can get the StarRocks version by executing SQL select current_version()

Could you please give us more infomation, be.INFO for example


Brackets Treated As Special Characters In Single Quotes

Steps to reproduce
In File Explorer on an NTFS volume, create the file: [abc].txt
Following this run:
ls '[abc].txt'

Expected behavior
    Directory: C:\Users\Dave

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2019-05-06 12:07 AM              0 [abc].txt

Actual behavior
No output displayed.
Environment data

Name                           Value
----                           -----
PSVersion                      6.2.0
PSEdition                      Core
GitCommitId                    6.2.0
OS                             Microsoft Windows 10.0.17763
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Additional Cases and Information
The file name can be displayed using tab completion, but the brackets are preceded by back ticks, which indicates that Windows can see the file and assumes that the brackets are special characters. When attempting to list the file using the ls command, the following error is generated:
ls : Cannot find path 'C:\Users\Dave\`[abc`].txt' because it does not exist.
At line:1 char:1
+ ls '.\`[abc`].txt'
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (C:\Users\Dave\`[abc`].txt:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

Other commands generate no output or errors as well.
Get-FileHash '[abc].txt'
# Generates no output

1 | Out-File '[abc].txt'
# Generates error stating that the wildcard path did not resolve to a file

According to Microsoft's "About Quoting Rules" page, "When you enclose a string in single-quotation marks (a single-quoted string), the string is passed to the command exactly as you type it. No substitution is performed".

/cc @kwkam @mklement0

Short:
https://github.com/PowerShell/PowerShell/pull/9257 resolves this issue.
Long:
Most cmdlets that accept a path treats the first string parameter as -Path, which can do wildcard/glob. The command
ls '[abc].txt'

is the same as
Get-ChildItem -Path '[abc].txt'

where [abc].txt will be considered as a wildcard pattern which matches either a.txt/b.txt/c.txt, so we have to:

Escape the bracket, tell the cmdlet that we are not doing wildcard:

Get-ChildItem -Path '`[abc`].txt'

Or, use -LiteralPath to indicate that the path is literal:

Get-ChildItem -LiteralPath '[abc].txt'

However, the first solution still does not work because the Get-ChildItem cmdlet is not handling the -Path argument correctly, when it contains escaped special character:

Get-ChildItem check if glob should be performed on -Path

if contains (non-escaped) wildcard character

resolves the path as pattern

else

resolves the path as literal (first solution falls in here)

Which means it will try to find a file literally named `[abc`].txt instead of [abc].txt

@kwkam Thanks for great comment! Should we add new test in #9257 related the issue?

And the related issues re file-creating cmdlets such as  Out-File (and operator >) are #4726  and #9475. Related: #9225.


Update Footer Alignment in About Us Page

Hey @codervivek5 . The current footer alignment is not consistent and needs to be adjusted for better visual appeal and responsiveness.
Before making the changes:

After making the changes:

Please add the gssoc labels and I would like to work on it under GSSOC'24. Thank you!!

I would like to resolve this issue @codervivek5  can you please assign this issue to me under Gssoc24?


Update psexec docs to reflect the -i requirement

Docs Build status updates of commit 162c886:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sysinternals/downloads/psexec.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Move start definition to top-level workflow properties

What would you like to be added:
Move the "start" definition to top-level workflow properties
Why is this needed:
This might be easier for validators to assure there is a single workflow starting state.
Currently with our schema there is no way to enforce a single starting state (or no starting state)
Only thing we do assure is that either a "start" or an "end" is required for most of the states where its applicable.

+1 on this. There's just enough logic in the start definition that it makes sense for it to become its own state - https://github.com/serverlessworkflow/specification/blob/master/specification.md#Start-Definition
Thinking about the user mental model, a user probably wants to define how the workflow gets triggered first and then think about defining what work will be done in the workflow.


Adding a service to expose Operator SDK metrics

Description

Adding a service to expose Operator SDK metrics port
How Has This Been Tested?

On a test cluster:

Added this service config
Port forwarded to the localhost port:
oc port-forward -n data-science-pipelines-operator <data-science-pipelines-operator-controller-manager-pod-name> 8080:8080
Curled to the localhost to retrieve a list of Operator SDK metrics:
curl -v http://localhost:8080/metrics

Find a list of metrics returned by the curl command here.
Merge criteria:

[x] The commits are squashed in a cohesive manner and have meaningful messages.
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work

content looks good to me. The only question I have is whether we'd separate out the service into its own config file. The other config directories seem to have resources be mostly separate (for example: https://github.com/opendatahub-io/data-science-pipelines-operator/tree/main/config/rbac), and I'm not familiar enough with the conventions. Perhaps another reviewer can make a suggestion.

Can you confirm that the servicemonitor works? Confirm this by checking if the metrics show up in ocp monitoring stack. My guess is it won't work because it's missing the labels for the selector here: https://github.com/opendatahub-io/data-science-pipelines-operator/blob/main/config/prometheus/monitor.yaml
The port will also need to be updated to match the exposed port in the service.

My guess is it won't work because it's missing the labels for the selector here

By "it", did you mean the service? The service has to have the same labels as the servicemonitor?

By "it", did you mean the service? The service has to have the same labels as the servicemonitor?

yeah the service monitor will select on the labels for the service

@DharmitD you should also test by port-forwarding the service, not the pod oc port-forward service/$service_name since that is the change you are making

@DharmitD you should also test by port-forwarding the service, not the pod oc port-forward service/$service_name since that is the change you are making

I updated the service to add the same label as the service monitor. Tried port forwarding through the service:
oc port-forward svc/data-science-pipelines-operator 8080:8080 -n data-science-pipelines-operator
The port forward worked, further queried metrics using curl:
curl http://localhost:8080/metrics
Curl returned the same set of metrics.

Can you confirm that the servicemonitor works? Confirm this by checking if the metrics show up in ocp monitoring stack. My guess is it won't work because it's missing the labels for the selector here: https://github.com/opendatahub-io/data-science-pipelines-operator/blob/main/config/prometheus/monitor.yaml
The port will also need to be updated to match the exposed port in the service.

Added a ServiceMonitor config in https://github.com/opendatahub-io/data-science-pipelines-operator/pull/24 with labels matching to the above service config.
The ServiceMonitor works and metrics can be queried.

/lgtm

/approve


fix bug  AtomicPositiveInteger  hashCode   equals

fix bug  AtomicPositiveInteger  hashCode   equals

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io

manually fixed in 6589f5e

thanks


how to exclude files/dirs?

Hi, I saw on shell command section, that there's an ability to exclude nodes from patterns, but I do not really see how is it implemented in library.. Can you please point me to code for me to understand in how to use it via library, e.g. requiring gem from my script and creating an instance. thx.

I never use the exclude pattern myself.
There is really nothing to it if you use the gem from ruby:
require 'rubygems
require 'filewatcher'

FileWatcher.new(["file1", "file2", "file3"]).watch do |filename|
  puts "File " + filename + " was changed"
end

Why is this ticket closed?
This seems to be either a documentation bug or an unimplemented feature.
The README states there is a -x, --exclude <s> but there seem to be no support for it anywhere in the code. The only reference to it is here.
It would be nice if this is implemented, and something is added to the docs to show how to exclude several patterns.

You are right. Exlude files and dirs would be nice. I don't know what the api would look like. The only idea I got is to let the API take two string arrays as input. The first would contain file name patterns to include and the second file names to exclude.

Yes. Well regardless of the end implementation (and if at all you decide to implement), the README should be updated to reflect the fact that its not there (need to remove the --exclude flag that is mentioned there.
As for ideas for implementation, I would like to suggest keeping the library API and the command line API as close as possible to each other, and to keep the include/exclude patterns similar if possible.
When I tried to see if the --exclude flag works, I tried some things like:

--exclude "tmp/,log/" (comma separated)
--exclude "tmp/ log/" (space separated)
`--exclude "^(tmp|log)" (regex)

The exclude can either be a path spec (like the include) or a regex in my opinion. Path spec is preferred I think since it is more in line with the include parameter.
Of course, as you mentioned, the lack of this feature is less critical when using the library, since you can easily do something unless filename =~ /rule/ but I find myself liking the command line call even when running through ruby.

I have started to work on this in a new branch called exclude
The API has been changed to use named parameters as you suggested. I haven't found a way yet to tell if a filename matches one of the exclusion filename patterns. Pure regexp is no good since Regexp.new("*.rb") returns a regexp pattern format error.
    if(filename.match(Regexp.new(exclude_filename)))
        exclude = true
    end

The best strategy is probably to use the same expand_directories() method on the exclusion files and the diff the inclusion and exclusion filename list. That way the format for filename glob pattern will be the same.

Sounds like expand_directories may indeed be better than a regex. I think regex would be alien to such a utility anyway.
Let me know if I can help or you want to bounce ideas.

You're welcome to submit pull request to the feature branch. :-)

I've implemented the API and the tests passes. The command line interface still needs to be updated. I'll see if I can do it tomorrow. So far I've managed to do it in 20 lines of code. Small is beautiful, I will have to think about a way to shorten it. :-)

@DannyBen @penntaylor I have finally released a new version of the gem where the --exclude files option works both in the command line and from the ruby api:
$ filewatcher '**/*.*' --exclude '**/*.rb' --spinner --interval 0.1 'echo $FILENAME'

FileWatcher.new('**/*.*', exclude: '**/*.rb', spinner: true, interval: 0.1).watch() do |filename|
    puts filename
end

excellent, thanks.


How to jump directly to streetview

Is it possible to directly jump into the streetview? I've found how to enable the option with [streetViewControl]="true" but I would like to set the streetview as default. Is this possible?

questions belong on stack overflow or discord, not here.
To answer, I don't think it is. You can do a StreetViewPanorama with default google maps api, but AGM doesn't support that.


Text and background with same color

Text color should not be allowed to be of the same color of the background.
An alternative would be an option "Disable other users pages color schemes", like "Disable Visual Effects" on settings.

Just like on the web, people simply wont buy on pages with bad aesthetics. On the web you could also build a page with a black background and black text and there aren't any filters built into the web browser to prevent it from happening. We could spend a lot of time trying to prevent this, but any legit store on OpenBazaar will want to ensure that their text is legible if they expect to sell anything.