Expire artifacts in local cache

In GitLab by @tristanvb on Oct 27, 2017, 07:54
The local artifact cache is currently unbounded and needs to periodically be cleaned by the user with something like:

rm -rf ~/.cache/buildstream/artifacts

This is not ideal because it will delete everything.
Instead, we should have a user configurable quota, allowing the user to restrict the artifact cache from growing beyond a given size.
This can be imlemented using a least-recently-used algorithm, where artifacts which have not been used for a long time are expired from the local cache first when buildstream is creating artifacts.
Complications and edge cases:

BuildStream should not expire artifacts which are required in the current build plan
In interactive mode, in the case that the local cache is too small to fit a given build, the user needs to be asked what to do

This decision should probably carry for the remainder of the build, if the user decided to make an exception and allow the cache to grow beyond the quota, then they probably dont want to re-answer this question for every build

In non-interactive mode, a decision needs to be made in advance, perhaps it is simply disallowed to ever grow
In the cases where local artifact quota exceeds the amount of remaining disk space for the given partition/volume, something smart needs to be done

On startup, a warning should be issued
The remaining space, minus some hard coded reasonable value, should probably be considered instead of the user defined quota for the duration of the session

In GitLab by @jjardon on Jan 11, 2018, 08:52
marked this issue as related to #136

In GitLab by @jjardon on Jan 15, 2018, 18:05
Note libostree issue opened related with this: https://github.com/ostreedev/ostree/issues/1420

In GitLab by @samthursfield on Feb 22, 2018, 12:07
mentioned in commit b2197bc2aa7300ec9663686ce767aa02d78bbb99

In GitLab by @samthursfield on Feb 22, 2018, 12:08
mentioned in merge request !285

In GitLab by @jjardon on Mar 12, 2018, 16:08
This is starting to affect us: https://gitlab.gnome.org/Infrastructure/GitLab/issues/171#note_79852

In GitLab by @TheRealMichaelCatanzaro on Mar 12, 2018, 17:16

This is starting to affect us: https://gitlab.gnome.org/Infrastructure/GitLab/issues/171#note_79852

On my personal computer, ~/.cache/buildstream is over 60 GB large. That's not good.
It's not just ~/.cache/buildstream/artifacts, though. All of the cache directories are quite large.

In GitLab by @TheRealMichaelCatanzaro on Mar 17, 2018, 20:29
I currently have:

In ~/.cache/buildstream/artifacts, 2,439,334 items, totalling 57.3 GB
In ~/.cache/buildstream/build, 11,936,893 items, totalling 26.9 GB
In ~/.cache/buildstream/sources, 268,435 items, totalling 7.7 GB
In ~/.cache/buildstream/logs, 5,040 items, totalling 455.3 MB

I would say that even the logs folder is far too large. All the caches should have reasonable size limits in place. Expiring artifacts alone won't be sufficient.

In GitLab by @juergbi on Mar 17, 2018, 20:58
Please note that ~/.cache/buildstream/build mostly consists of hardlinks to files in ~/.cache/buildstream/artifacts. I.e., the total size of ~/.cache/buildstream is smaller than the sum of the subdirectory sizes.
However, I agree that we also need to expire build trees and logs. I'm not sure how to handle sources.

In GitLab by @tlater on Mar 19, 2018, 12:37
created branch 135-expire-artifacts-in-local-cache

In GitLab by @tlater on Mar 28, 2018, 14:06
mentioned in merge request !347

In GitLab by @tlater on Mar 28, 2018, 15:53
assigned to @tlater

In GitLab by @LaurenceUrhegyi on May 1, 2018, 14:20
marked this issue as related to #372

In GitLab by @TheRealMichaelCatanzaro on May 8, 2018, 04:42
Anecdotes:

Last week, I found my BuildStream cache had reached 160 GB. I encountered some difficulty when attempting to delete it.
Today I ran out of space on my 1 TB hard drive. My BuildStream cache had grown to 770 GB. This after having deleted it just last week.

In GitLab by @toscalix on May 23, 2018, 15:47
marked this issue as related to #402

In GitLab by @toscalix on May 23, 2018, 16:37
marked this issue as related to #357

In GitLab by @tlater on Jul 4, 2018, 17:03
It's been a while, the MR for this is still sailing with few updates. Planning to round it up on the plane to GUADEC!

In GitLab by @tlater on Jul 19, 2018, 09:43
!347 has landed - should we close this? Not quite everything is covered yet, but perhaps it's better to split off the remaining feature ideas into a different issue.

In GitLab by @tlater on Jul 23, 2018, 09:30
I've split off the remaining features into #490 and #491 so we can close this critical High_impact Urgent Blocker bug ;)

In GitLab by @tlater on Jul 23, 2018, 09:30
closed

In GitLab by @toscalix on Aug 3, 2018, 08:17
marked this issue as related to #520

In GitLab by @jjardon on Oct 27, 2018, 16:04
mentioned in merge request !548


The version conflict of the pytorch-lightening

Hello, I have met a version conflict and unable to manage it. (I am not quite familiar with the pytorch-lightning)

This expression here seems to have been deprecated in the newer version, this call back mechanism cannot be found in the User guide for pytorch lightning and the errrorpage also says that

so i changed it into the below way

and the afore-mentioned problem is gone, instead this thing appear

It seems tobe some what run out of num, how ever the dataset i custommed before was verified using the supplied method

There is also another possible thing that's probably going on, which is the relative path in use. But that is not likely to be the case

Please check the requirement.txt to make sure you install the right version


SDL support

Question
Support executable schema based on schema definition language.

We don't have support yet. We're open for contributions!

@paulofaria  - is this still open?

@dfperry5 Yeah, SDL support is still an outstanding area for improvement.

@NeedleInAJayStack  - I'm interested in trying this out myself. Do you happen to know where in https://github.com/graphql/graphql-js they read in the SDL stuff? I'll keep looking through it myself.

@dfperry5 That would be awesome! I'm actually not too familiar with where SDL stuff lives in graphql-js. I believe it is built into the lanugage parser, and that our repo already has some of the tokens required to interpret SDL. But I imagine there are still some incompatibilities to figure out. Thanks!

hey yall, i wrote a parser for graphql that supports everything needed for client side parsing in swift, meaning it parses much of what's available in the schema https://github.com/remind101/AutoGraphParser/ . this was after dealing with some frustration with the official C libgraphqlparser which wasn't being kept up-to-date (still on the 2016 spec actually), but what has come out of it i think is very easy to read and maintain (see Language.swift). anyway, my next plan which i want to execute on soon is full schema parsing of the entire language. after that I would actually very much want this to be inherited / integrated / subsumed by GraphQLSwift and i'd be happy to help maintain it, i have a vested interest in it. let me know how this all sounds, would love to collaborate here :)

Hey, @rex-remind101! This sounds awesome. Love that you're using swift-parsing. I'm open to incorporating the parser in the library and implementing SDL support. I didn't have time to look, but what is the status in regards to testing?

there's a grip of unit tests. i'm not sure how complete they are, however, we use this parser to support our client code-generator on our app that is very very large with a lot of diverse graphql queries to say the least. also, the codegen is tested across a somewhat diverse suite of schemas too (which implicitly tests the parser) https://github.com/remind101/AutoGraphCodeGen/tree/main/Tests/Resources
btw, if it yall are happy to integrate it i think it would be nice to have the parser as its own lib under the GraphQLSwift moniker. that way users could use it for other cases (like our codegen lib). I'm also hopeful that as the C++ interop story aligns on swift we can even have this as an option more universally for other languages via FFI etc too :)

Yep! All of this sounds good to me, cc @NeedleInAJayStack. Guess we also have to see how this would fit with the SSWG incubation process. @adam-fowler, is there any rules regarding the maturity level of package dependencies? Would splitting up the parser dependency require it to be at the same maturity level as the main package?

Yeah, it looks very cool! Thanks for sharing @rex-remind101!
I had a few questions as I reviewed:

If I'm reading right, it looks like it does two things:  Converts from introspection query results into a structured schema, and is able to parse client-side queries into constituent parts. Is that accurate? Would you say that it is focused mainly on client use cases, or is it also relevant to server-side operations?
How do you feel on how this parser compares with the GraphQL Package's Parser? Do you think that it would make sense to combine them, adopt only one, or keep them separate? Or does it serve completely different use-cases?

Overall, I'd love to see more Swift client functionality in the GraphQLSwift org. If we're imagining this as a server-side tool, we probably just need to do a little thinking about where it fits in.
Thanks again for sharing, and excellent work!

If I'm reading right, it looks like it does two things: Converts from introspection query results into a structured schema, and is able to parse client-side queries into constituent parts. Is that accurate? Would you say that it is focused mainly on client use cases, or is it also relevant to server-side operations?

that is accurate as of current because the immediate need was to service a code generator on the client side. but i want to expand it to include parsing of the entire language so it can serve both client and server side.

How do you feel on how this parser compares with the GraphQL Package's Parser? Do you think that it would make sense to combine them, adopt only one, or keep them separate? Or does it serve completely different use-cases?

looking a bit over it it seems to more or less serve the same purpose. one core difference I notice is that a Node existential type is used which doesn't exist in the AutoGraphParser as of current, but i see no reason that couldn't be added if needed. the other core difference is operationally, AutoGraphParser uses the swift-parsing parser combinators library where the existing package's parser doesn't. i think there's some advantages there to readability/syntax and also just having a core set of combinators GraphQLSwift can leverage and not need to maintain.

Overall, I'd love to see more Swift client functionality in the GraphQLSwift org

I think the end-result of the parser being able to cover the whole GQL language could be used for both client and server. also after the fact i think i could draw from my experience to add a client library too, the existing one works well enough but I've wanted to do a bit of a rewrite of parts especially given async-await in swift. i could maybe redirect work towards GraphQLSwift org instead depending on technical direction :)

Cool, thanks for your take on those questions.
Overall, I'm on board with bringing this package into the GraphQLSwift org.
However, I'd hesitate to replace the GraphQL parser with this implementation (or really any other one). The swift GraphQL package as a whole is basically a direct port of the graphql-js reference implementation (see the graphql-js parser for similarities). This approach has some significant benefits:

As features are added over time to the spec & reference implementation, it is obvious where and how to add them to GraphQLSwift's package.
When bugs occur, fixing them is often as simple as comparing the Swift code to the JavaScript and tweaking it to match.
By duplicating the JavaScript testing we can easily ensure full feature parity with the existing spec & popular tools.
We ensure that the performance considerations made within the larger JavaScript GraphQL community are reflected in the Swift implementation.
By having the same structure and implementation patterns, the package is more approachable to people coming from GraphQL in different languages.

It also brings some downsides, mainly that it doesn't always take advantage of some unique Swift language features like ResultBuilders, strong typing, etc. The approach so far has been to add those features on top of GraphQL in separate packages like Graphiti.
Aside from that, I definitely think having this parser as a separate package seems totally reasonable, whether under the GraphQLSwift org or your own. I really do like the technical approach, and think it could be very useful in building GraphQL utilities in Swift!

I mostly agree with all points, @NeedleInAJayStack. Since this issue is related to SDL support, I wonder what's missing from the existing parser to support it? Also how would SDL support look like with Graphiti, for example?
Regarding client libraries. I would love to create a client library, maybe based on Swift macros? I believe there is something we can do to make it possible to hand the client API a Graphiti schema and be able to get code completion and type safety (build errors) when writing result builder queries based on the types defined in the schema?

ok, that logic is reasonable for maintaining the current parser. i still wouldn't mind bringing AutoGraphParser under the GraphQLSwift moniker though i'd still intend it to be full fledged GQL parser (at some point in the near future) which i'm not sure if that would create some confusion for people? possibly the intention would be if someone wants something very swifty use the parser i wrote?

to hand the client API a Graphiti schema and be able to get code completion and type safety

in terms of a client library i'm not sure how you intend on fitting in Graphiti schema, but i think any sufficient client library would need to be able to support backend languages other than swift too meaning it would need to perform introspection directly for schema verification.
(might be time to move that topic to another conversation though)

Since this issue is related to SDL support, I wonder what's missing from the existing parser to support it?

I think the GraphQL Parser already supports SDL. Check out this test. That test doesn't really check that it parses correctly though, so there might be some edge cases to track down. The package is missing some standard utilities around printing Schemas to SDL, and some SDL validation rules.

Also how would SDL support look like with Graphiti, for example?

I think this one's a bit more tricky. I'll spend a little time over the next few days looking into it and get back to you.


Remove json-to-messages

json-to-messages acceptance testing was broken since a long time without anyone noticed.
It seems is it not used that much.
We decided at a community meeting (2022-0616) to remove it:

Monorepo exit

[Matt / Aurellien] Do we still need json-to-messages?

Decision: pull it out and archive it but not fix CI etc.

It has been exfiltrated and archived here: https://github.com/cucumber/json-to-messages

Merge https://github.com/cucumber/common/pull/2027 first


Update changelog

Add more details to the changelog so that people who hit https://github.com/getsentry/sentry-python/issues/2160 are more likely to quickly find the correct release with the fix.

Note to self: also update on github's release page

Pro tip: you can create milestones (like this one), add the description there with a good title and then connect relevant PRs (even just 1) before making a release and Craft will use the milestone information to group all those PRs and use milestone title and description in the automatically generated changelog.

See https://github.com/getsentry/craft/releases/tag/0.25.0 for an example


frequency_modifier validation & additional parameters

I've updated the windows_task provider to validate the frequency_modifier attribute to ensure it's a valid value and updated the same resource to allow Strings. This allows you to specify the additional parameters for the schtasks.exe switch /MO that are string values (LAST, FIRST, SECOND, THIRD, FOURTH, & LAST).
Feedback welcome on the code if there is a more elegant way to handle this or if I missed anything.

Looks good but looks like #305 supersedes this one.


memory leak problem

Hi, i'm a rust rookie. my program suffer a memory leak problem, it could been killed by kernel
after running along time.
Getting data from redis，and adding to tantivy with rust:
fn main() {
    let mut index_writer = index.writer_with_num_threads(num_threads, buffer).unwrap();
    index_writer.set_merge_policy(mergePolicy);
    loop {
        let mut datas = RedisService::get_data();
        let len = datas.len();
        if len == 0 {
            //sleep
        }
        for data in datas {
            let mut doc = Document::new();
            let json_value = json::parse(&data).unwrap();
            //doc.add_text,add_u64;
            index_writer.add_document(doc);
        }
        index_writer.commit();
    }
}

Hey, since you say you are less experienced with rust, it would be good to understand a bit more about your problem.
How long is "a long time"?
Are you sure it's killed by the kernel? Specifically OOM or something else?
How much data is in your RedisService?
Also, I don't recommend you commit in a loop, that will slow down your indexing pipeline and lead to many small segments.

Your polling loop looks like it batches but it does not.
I suspect you commit almost one doc at a time.
In that case you create a lot of tiny segment. Tantivy is a bit dumb and does not know how to wait for merging threads, so you end up with an evergrowing number of merging thread and this is the source of your OOM.

If you need something quick and dirty, just sleep 1s within your loop to prevent 2 commit to happen in a 1s interval.

@petr-tik @fulmicoton
My program writes 20 indices concurrently distributed in 10 disks(2 indices for each disk) .
After the program running several days, every indices has about 250GB data(totala about 5TB), it holds 180G memory in RES(SHR 300M).
Yes, it would been killed by oom-killer when the system's memory exhausted.
@fulmicoton
Maybe you are rigth, because i find there are 270 mergingthreads in the program.
But I don't understand why my program commits almost one doc at a time, and how to batch commit.
Actually, i use a counter to control batch(if it does).
loop{
for data in datas {
index_writer.add_document(doc);
}
i = i + 1;
if i == commit_interval {
index_writer.commit();
i = 0;
}
}

@vsop-479 Sweet. It seems like you know how to monitor your program so we should not have too much trouble solving your issue.
It sounds like your index is large. The larger your commits the better your indexing throughput.
Make sure you
I don't have enough details about the way your redis stuff so I cannot give you much guidance on how to solve your problem...
Also, if you can share  what kind of data you are trying to index, please let us know! This is always awesome ot here about users.

@fulmicoton
Actually, the program commits 200k docs every time for each index.
PS index writer's num_threads is 4,  overall_heap_size_in_bytes is 500_000_000.
Consider there are 20 indices, maybe the amount fo merging threads(270) is normal?
I will pay more attention on the merging threads.
The data i am tring to index is some tcp flow data, which likes:
{
"status": "tmo",
"dst_mac": "11:11:11:11:11:11",
"sip": "<IP_ADDRESS>",
"downlink_length": 4177,
"down_payload": "485",
"proto": "openvpn",
"dtime": "2019-10-29 15:55:55.696",
"client_os": "openbsd3",
"up_payload": "504",
"server_os": "linux",
"summary": "165;3;1460;1380",
"stime": "2019-10-29 15:37:35.585",
"uplink_length": 882,
"dport": 11111,
"sport": 22222,
"dip": "<IP_ADDRESS>",
"src_mac": "22:22:22:22:22:22"
}

So you have 20 indices in the same process? each with their own index writer?

So you have 20 indices in the same process? each with their own index writer?

yes.

Ok... How many threads do you have on your CPU?
If IO is your bottleneck or if you don't have 40 threads, chances are lowering the number of threads per indexwriter is a good idea.
Setting it to 1 per index writer for inatance, will force ensure that the segment you create are larger for the same amount of memory.
This should reduce the number of merging threads.

If this does not solve your problem...
Right now, no mechanism bounds the number of merging threads. If indexing outpaces merging, which happens as the amount of data you have gets larger, you end up with more merging threads running at the same time.
As your segments become larger and larger, there is less and less good reasons to actually merge them. One thing that would be reasonable to do with your use case is to write your own MergePolicy to avoid merging very large segments. It will save you CPU and IO.
For instance you could stop merging segments that are more than 4GB or something like that.
This is assuming that you do not have any deletes in your index.

My cpu has 24 processors.
IO is not the bottleneck util the program occupied too much memory.
I think you are right about the merge policy, because there are many big segments in the index path,
may be merging these big segments result in the program hold so mush memory.

It's fairly fun and easy to write your own Merge policy. Let us know if you have troubles doing it.

I am trying to write my own merge policy, my plan is skipping big segments like lucene.
But i can't find segment's size info in SegmentMeta, there are only docs num info.
So my trouble is how to get the segment's size info.

@fulmicoton
I am trying to write my own merge policy, my plan is skipping big segments like lucene.
But i can't find segment's size info in SegmentMeta, there are only docs/deleted docs num info.

@vsop-479 Can you rely on the number of documents?

@fulmicoton
If there is no way to get the segment's size.
I would use the number of documents to skip big segments.

Hi, i'm a rust rookie. my program suffer a memory leak problem, it could been killed by kernel
after running along time.
Getting data from redis，and adding to tantivy with rust:
fn main() {
    let mut index_writer = index.writer_with_num_threads(num_threads, buffer).unwrap();
    index_writer.set_merge_policy(mergePolicy);
    loop {
        let mut datas = RedisService::get_data();
        let len = datas.len();
        if len == 0 {
            //sleep
        }
        for data in datas {
            let mut doc = Document::new();
            let json_value = json::parse(&data).unwrap();
            //doc.add_text,add_u64;
            index_writer.add_document(doc);
        }
        index_writer.commit();
    }
}

I'm also face this issue, didn't solved yet.

@dearsxx0918 are you sure you have the same issue?
On #666, the problem you described was very different. If you share your code, we can maybe help.

@vsop-479 I am afraid there is no way to get the size of the segments in MB.

@dearsxx0918 are you sure you have the same issue?
On #666, the problem you described was very different. If you share your code, we can maybe help.

I can't give you the source code, but I can give you a valgrind log(massif log).

I am not interested in the valgrind log.

Did you manage to drop your IndexWriter as suggested in the other thread?
Can you confirm you are not committing after every single doc?
Can you check the number of merging thread you have?

@fulmicoton
Thank you for helping me analyzed the problem i suffered.
Maybe tantivy should control the size of the segments choose to be merged, and the number of threads on which to execute merge task.


Update tutorial.md

options for HISAT2 alignment tool was added to the tutorial instead of HISAT

This was already updated in the current version of the tutorial. Thanks @nvk747 for the contribution


kernel panic on ib0 allocation to container

Hi
When attempting to pass an IB interface into a container I am getting a kernel panic (see attached). The command being run is pretty simple (./pipework/pipework ib0 6dbf <IP_ADDRESS>/24). I will do some digging and see if I can russle up some more informtion:
[  945.996584] BUG: unable to handle kernel NULL pointer dereference at<PHONE_NUMBER>000008
[  945.996687] IP: __ipoib_vlan_add+0x1e/0x260 [ib_ipoib]
[  945.996736] PGD 379358067
[  945.996738] P4D 379358067
[  945.996765] PUD 382f7f067
[  945.996792] PMD 0
[  945.996858] Oops: 0000 [#1] SMP
[  945.996889] Modules linked in: mlx5_ib veth ib_ipoib rdma_ucm rdma_cm iw_cm ib_cm configfs ib_uverbs ib_core ipt_MASQUERADE nf_nat_masquerade_ipv4 xfrm_user xfrm_algo iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 xt_addrtype iptable_filter ip_tables xt_conntrack x_tables nf_nat nf_conntrack br_netfilter bridge stp llc overlay bnep snd_hda_codec_hdmi eeepc_wmi snd_hda_codec_realtek asus_wmi snd_hda_codec_generic sparse_keymap intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp snd_hda_intel snd_hda_codec snd_hda_core kvm snd_hwdep snd_pcm irqbypass crct10dif_pclmul crc32_pclmul snd_seq_midi snd_seq_midi_event snd_rawmidi ghash_clmulni_intel pcbc snd_seq snd_seq_device snd_timer aesni_intel aes_x86_64 crypto_simd glue_helper cryptd snd intel_cstate intel_rapl_perf serio_raw soundcore
[  945.997548]  switchtec mei_me shpchp mei hci_uart btbcm btqca btintel bluetooth ecdh_generic acpi_als kfifo_buf mac_hid acpi_pad intel_lpss_acpi intel_lpss tpm_crb industrialio parport_pc ppdev lp parport autofs4 uas usb_storage mxm_wmi i915 psmouse e1000e i2c_algo_bit ahci drm_kms_helper libahci syscopyarea sysfillrect sysimgblt fb_sys_fops mlx5_core drm devlink wmi video pinctrl_sunrisepoint i2c_hid pinctrl_intel hid
[  945.997910] CPU: 3 PID: 2186 Comm: ip Not tainted 4.12.3+p2pmem-nvme-v4.12-rc3-1449-g9c9a27b+ #1
[  945.997987] Hardware name: System manufacturer System Product Name/PRIME Q270M-C, BIOS 0602 01/20/2017
[  945.998070] task: ffff9170bb3a4b00 task.stack: ffffa148c391c000
[  945.998130] RIP: 0010:__ipoib_vlan_add+0x1e/0x260 [ib_ipoib]
[  945.998182] RSP: 0018:ffffa148c391f860 EFLAGS: 00010286
[  945.998231] RAX:<PHONE_NUMBER>001000 RBX:<PHONE_NUMBER>000000 RCX:<PHONE_NUMBER>000002
[  945.998295] RDX:<PHONE_NUMBER>00ffff RSI:<PHONE_NUMBER>000000 RDI: ffff9170bb363000
[  945.998359] RBP: ffffa148c391f888 R08: ffff9170f5d9f440 R09: ffff9170e5003500
[  945.998422] R10: 000000003e18c000 R11:<PHONE_NUMBER>023b21 R12: ffff9170bb363000
[  945.998485] R13:<PHONE_NUMBER>00ffff R14: ffff9170bb363000 R15: ffffffffc0993b20
[  945.998550] FS:  00007f227c7cb700(0000) GS:ffff9170f5d80000(0000) knlGS:0000000000000000
[  945.998622] CS:  0010 DS: 0000 ES: 0000 CR0:<PHONE_NUMBER>050033
[  945.998674] CR2:<PHONE_NUMBER>000008 CR3:<PHONE_NUMBER>311000 CR4:<PHONE_NUMBER>3406e0
[  945.998738] DR0:<PHONE_NUMBER>000000 DR1:<PHONE_NUMBER>000000 DR2:<PHONE_NUMBER>000000
[  945.998802] DR3:<PHONE_NUMBER>000000 DR6: 00000000fffe0ff0 DR7:<PHONE_NUMBER>000400
[  945.998864] Call Trace:
[  945.998899]  ipoib_new_child_link+0x91/0x110 [ib_ipoib]
[  945.998952]  rtnl_newlink+0x610/0x8c0
[  945.998992]  ? rtnl_link_ops_get+0x39/0x50
[  945.999032]  ? rtnl_newlink+0x187/0x8c0
[  945.999076]  rtnetlink_rcv_msg+0xee/0x220
[  945.999116]  ? rtnl_newlink+0x8c0/0x8c0
[  945.999154]  netlink_rcv_skb+0xe7/0x120
[  945.999192]  rtnetlink_rcv+0x28/0x30
[  945.999230]  netlink_unicast+0x18c/0x240
[  945.999269]  netlink_sendmsg+0x2c5/0x3b0
[  945.999312]  sock_sendmsg+0x38/0x50
[  945.999349]  ___sys_sendmsg+0x2d7/0x2f0
[  945.999390]  ? mem_cgroup_commit_charge+0x7e/0x4e0
[  946.001628]  ? __handle_mm_fault+0xd3d/0xfd0
[  946.003832]  __sys_sendmsg+0x54/0x90
[  946.006021]  ? __sys_sendmsg+0x54/0x90
[  946.008230]  SyS_sendmsg+0x12/0x20
[  946.010450]  entry_SYSCALL_64_fastpath+0x1e/0xa9
[  946.012693] RIP: 0033:0x7f227c0fe450
[  946.014948] RSP: 002b:00007ffcbda8dc18 EFLAGS: 00000246 ORIG_RAX:<PHONE_NUMBER>00002e
[  946.017271] RAX: ffffffffffffffda RBX: 00007ffcbda95d20 RCX: 00007f227c0fe450
[  946.019381] RDX:<PHONE_NUMBER>000000 RSI: 00007ffcbda8dc60 RDI:<PHONE_NUMBER>000003
[  946.020879] RBP:<PHONE_NUMBER>000000 R08:<PHONE_NUMBER>4024b8 R09: 00007f227c7eb168
[  946.022340] R10:<PHONE_NUMBER>0005e7 R11:<PHONE_NUMBER>000246 R12: 00007ffcbda8dc60
[  946.023757] R13: 00007ffcbda95d58 R14:<PHONE_NUMBER>6573a0 R15: 00007ffcbda978fe
[  946.024845] Code: 00 e8 07 30 6b cf 5d 48 98 c3 0f 1f 00 0f 1f 44 00 00 55 48 89 e5 41 56 41 55 41 54 41 52 41 89 d5 53 8b 87 94 03 00 00 49 89 fc <48> 8b 56 08 48 89 f3 41 89 ce 89 86 94 03 00 00 83 e8 04 89 82
[  946.026969] RIP: __ipoib_vlan_add+0x1e/0x260 [ib_ipoib] RSP: ffffa148c391f860
[  946.027993] CR2:<PHONE_NUMBER>000008
[  946.032355] ---[ end trace 294766f7e80c56b3 ]---

Hi @sbates130272.  Can you verify that arp ping isn't being called in that script?  I did the original work to integrate infiniband ipoib interfaces into pipework and a quick browse through appears that maybe the if installed arpping; then ... code path might be getting called.
This should be in the block of [ $MACADDR ] && stuff, but if my bash script skills remember correctly then maybe only the case block is part of it and so the entire arpping section might be being called.
arpping must not be called on ipoib.  It will likely cause the kernel panic you're seeing.

Hi @sbates130272
I think the problem might be that arpping is being called.  It used to have a check not to run arpping but that seems to have been removed.  Anyway, if you call it on an ipoib interface like ib0 you will usually get a kernel panic.  At least I did.
So, please add a check around
  # Give our ARP neighbors a nudge about the new interface
  if installed arping; then
    IPADDR=$(echo "$IPADDR" | cut -d/ -f1)
    ip netns exec "$NSPID" arping -c 1 -A -I "$CONTAINER_IFNAME" "$IPADDR" > /dev/null 2>&1 || true
  else
    echo "Warning: arping not found; interface may not be immediately reachable"
  fi

i.e.
if [ $IFTYPE != "ipoib" ]
then
 # Give our ARP neighbors a nudge about the new interface
  if installed arping; then
    IPADDR=$(echo "$IPADDR" | cut -d/ -f1)
    ip netns exec "$NSPID" arping -c 1 -A -I "$CONTAINER_IFNAME" "$IPADDR" > /dev/null 2>&1 || true
  else
    echo "Warning: arping not found; interface may not be immediately reachable"
  fi
fi

Hey thanks @hookenz for the prompt response. I wonder why your code was removed as it might be nice to have that in?
I don't think my issue has anything to do with ARP as my kernel panic comes alot sooner in the pipework script. I've tracked it down to this command:
ip link add link ib0 name ib0.2074 type ipoib
I am also pretty suspicious of the kernel here as it seems like any such command issued from user-space should, at worst, cause the kernel to report an error of some sort, not to panic. I'm running a 4.12 kernel so I will do some more digging and see if this needs to go to LKML...

Hi!
For what it's worth, I think that any kernel panic warrants going to LKML. The kernel should not panic when you're merely manipulating network interfaces.
I wish I could help you further, but alas, I have stopped working on pipework, and I don't see an obvious answer to your question. 🤔
If you're still actively looking for an answer, I'd suggest that you check or ask through:

the Docker Community Forums
the Docker tag on StackOverflow
the Docker Community Slack

If this is a critical issue for you, I know a few amazing consultants that you might want to hire. Let me know how to contact you and I'll put you in touch with them.
Thank you!


Feature/control actions RC interface

Quite a lot of things to fix before merging. We should also add a step to CI config that verifies the syntax of the interface protos (i.e. tries to generate code for them).

Added a Check let see if it works


Implement defaults in copier.yaml, and advanced overrides

This will probably be the best way to override files like launch.json or pyrightconfig.json for specific projects. One could agree to answer a set of override questions, and answer yes/no to each one. This would programmatically exclude that file from being synced to that repo. Merges/updates could be applied by changing a yes to a no, bumping the template, and then changing the no back to a yes.

Subfolder .gitignore with negation rules could be themselves ignored by the master .gitignore, which isn't touched after the initial template copy action. This would allow for files to be programmatically unignored by Copier, allowing the user to provide a customized file.
There could be a command that allows you to fetch the template files and apply them over your current overrides, allowing you to manually put in changes as needed, while maintaining the override.
The only issue is with top-level configs like pyrightconfig.json, which Pylance expects to find at the top level. Maybe an environment variable allows us to put it in the tooling directory instead.


api document page error

explorer-api: https://input-output-hk.github.io/cardano-rest/explorer-api/
submit-api: https://input-output-hk.github.io/cardano-rest/submit-api/
Unable to open the api document page, the following is the error message:
Something went wrong...
Error downloading https://raw.githubusercontent.com/input-output-hk/cardano-rest/master/explorer-api/swagger.yaml Failed to fetch
Stack trace
Error: Error downloading https://raw.githubusercontent.com/input-output-hk/cardano-rest/master/explorer-api/swagger.yaml
Failed to fetch
    at https://cdn.jsdelivr.net/npm/redoc@2.0.0-rc.20/bundles/redoc.standalone.js:49:5419
    at https://cdn.jsdelivr.net/npm/redoc@2.0.0-rc.20/bundles/redoc.standalone.js:108:36105

TypeError: Failed to fetch

ReDoc Version: 2.0.0-rc.20
Commit: fd581261

Seems to be resolved now


Enhance Frontend design for the flask webapp

Create better frontend design, preferably use bootstrap
Remove the degree option from the webapp

I'd like to work on this issue

Assigned to @vartika-arora

Unassigned


Instance bug

document bug：
const app = new Vue({
router
}).$mount('#app')
is't work
must be:
const app = new Vue({
router,
render: h => h(App)
}).$mount('#app')

Vue.js / vue-router versions
2.1.2 / 2.1.1
Reproduction Link

Steps to reproduce
What is Expected?
What is actually happening?

Please make sure to read the Issue Reporting Guidelines before opening new issues. Questions should be posted on the forum or StackOverflow. Thanks.

@lucifercd The part you see as a "bug" is actually used eactly like this in the jsfiddle that is linked to directly  below the code example - and it works:
http://jsfiddle.net/yyx990803/xgrjzsup/

@LinusBorg main.js in the vue-cli must add render: h => h(App),then is works. I think there is many pepole don't understand it，so I think is a problem : )
// The Vue build version to load with the import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
/* eslint-disable no-new */
const Foo = { template: 'foo' }
const Bar = { template: 'bar' }
const routes = [
{ path: '/foo', component: Foo },
{ path: '/bar', component: Bar },
{ path: '/hello', component: require('./components/Hello.vue')}
]
const router = new VueRouter({
routes // （缩写）相当于 routes: routes
})
const app = new Vue({
router,
render: h => h(App)
}).$mount('#app')`


Referencing package from Nuget, can't be found in feature list

The module cannot be found with a packaged reference, but it can be found with a direct reference from the project
https://github.com/OrchardCMS/OrchardCore/discussions/13170

The package must be added in the startup project,
and the 'PrivateAssets="none" option must be added if referenced in another project(not a startup project)
<PackageReference Include="EasyOC.ReplaceAction" PrivateAssets="none"/>


Asyncio add_signal_handler function not implemented in windows

For Python3 + Asyncio in windows, the "add_signal_handler" function is not implemented (throws NotImplementedError).
Source: asyncio\events.py and https://docs.python.org/3/library/asyncio-eventloop.html#unix-signals
Therefore, ApplicationRunner.run() will throw the error and not run the event loop.
autobahn\asyncio\wamp.py should at least be:
try:
    loop.add_signal_handler(signal.SIGTERM, loop.stop)
except NotImplementedError:
    pass  # Ignore if not implemented. Means this program is running in windows.

What do we need to do to get equivalent handling on Windows? Anything? (That is, if you ctrl-c the program, will the event loop always stop?)


.Net Core FSI causes security exception when attempting to executing a PInvoke call from fsx scripts

Don Syme asked me to move this bug from fsharp/fsharp issue 886 to here. I describe a failure mode where F# interactive running under .Net Core won't generate correct PInvoke calls in your scripts. It was determined by @jkotas here and @KevinRansom here that the issue was related to originally missing functionality in .Net Core's Reflection.Emit.TypeBuilder that is now present in .Net Core 3.0.
Considering that we now have F# 4.6 FSI as a preview dotnet command dotnet fsi inside the .Net Core 3.0 preview 3 this needs to get fixed otherwise any existing scripts using PInvoke will not work reporting a rather esoteric error message. This is still an issue under 3.0.100-preview3-010431 running Microsoft (R) F# Interactive version 10.4.0 for F# 4.6
Here is the original issue:
When running the .Net Core version of the F# Interactive Service we get a security exception on any invocation of a PInvoke call that was generated in the script itself.

Start .Net Core version of fsi.exe

dotnet 'C:\Program Files\dotnet\sdk\3.0.100-preview-009812\FSharp\fsi.exe'

Enter the following script:

open System.Runtime.InteropServices
[<DllImport("kernel32")>]
extern int GetLastError()

GetLastError()

You'll see the following exception:

System.Security.SecurityException: ECall methods must be packaged into a system module.
   at <StartupCode$FSI_0012>.$FSI_0012.main@()
Stopped due to error

On .Net Framework fsi this will execute and return the last error this is just the simplest test case I could think of.
I investigated and this is due to a check in ecall.cpp:346 inside the coreclr project.

    if (!pMD->GetModule()->IsSystem())
        COMPlusThrow(kSecurityException, BFA_ECALLS_MUST_BE_IN_SYS_MOD);

They perform a check on the incoming module to see if it is a system module (My guess is this means it's loaded from disk?) In any case if it is not then they throw this error. This means any scripts that were using PInvoke to call win32 services or other C api's CAN NOT work on the CoreCLR fsi version.
I've confirmed this is the case with .Net Core 2.0, 2.1, 2.2 and 3.0 preview at the exact same line number.
It there something that can be done to let the CoreCLR system know that the dynamically generated FSI assemblies are ok as far as this check is concerned?
Thanks,
-Patrick Simpson
DotNetFSISecurityFailureTest.zip

I'd fix this myself but I need guidance on the appropriate way we should special case this for .Net Core 3 builds in the project. My understanding of the issue is that when compiling under .Net Core 3 we simply need to remove the #if and keep the containing code that surrounds lines here:
https://github.com/Microsoft/visualfsharp/blob/5cf2d974241efb1bfa525cb636d392960ce1f0b7/src/absil/ilreflect.fs#L1515-L1541
Thanks,
-Patrick

@patrickallensimpson It looks like @KevinRansom is already working on it in https://github.com/Microsoft/visualfsharp/pull/6542

I just commented on that pull request, I'm very happy about this new fix!
-Patrick


add version for main,delete gcr in build.yml

add version for main,delete gcr in build.yml

add version for main,delete gcr in build.yml


A less-loader configuration that allows to set less variables using query params in import statements

Feature Request
Problem description
We want to pass variables to our theme.config by using url query params in the less import statement (import 'semantic-ui-less/semantic.less?theme=github';).
Proposed solution
We came up with this solution that could be an addition to the current documentation (or maybe added to the craco plugin?) because it would allow you to do dynamic theming using webpack's lazy loading feature.
The following less-loader configuration injects every query param of your import statements into the less file (eg. import 'semantic-ui-less/semantic.less?theme=github'; will add the variable @theme:'github'; to the less file on buildtime.
const CracoLessPlugin = require("craco-less");

module.exports = {
  plugins: [{
    plugin: CracoLessPlugin,
    options: {
      lessLoaderOptions: {
        additionalData: (content, loaderContext) => {
          const { resourceQuery } = loaderContext;
          const searchParams = new URLSearchParams(resourceQuery);
          const lessParams = Array.from(searchParams).map((param) => `@${param[0]}:'${param[1]}';`).join('');
          if (lessParams) {
            return lessParams + content;
          }

          return content;
        }
      }
    }
  }]
};

Usage
With the above configuration you can use the full power of webpack by just creating JS modules for every theme that can be loaded (eg. ./src/themes/github.js) with the following content:
import 'semantic-ui-less/semantic.less?theme=github';

and lazy load it in your main module before rendering the page:
// calling http://localhost?theme=github will load the specific theme before rendering the page
const urlParams = new URLSearchParams(window.location.search);
const theme = urlParams.get('theme') || 'default';

import(`./themes/${theme}.js`).then(render).catch(console.error);

const render = () => {
  // theme is now loaded. render your app...
}

You could also use these query params to dynamically load specific site directories based on the passed value (import 'semantic-ui-less/semantic.less?custom_theme=dark';)
/* Path to site override folder */
@siteFolder  : '../../src/semantic-ui/@{custom_theme}/site';

@skolmer to be honest, I will try to do something similar. Does it work for you? 🐱

@skolmer to be honest, I will try to do something similar. Does it work for you? 🐱

@skolmer to be honest, I will try to do something similar. Does it work for you? 🐱

Not sure if I can follow. Does it mean you are working on a solution to build multiple themes in a webpack based project?
We are currently using the solution posted above to be able to build a dark and a light theme that can be switched at runtime. It's working great for us, so I thought it might be worth sharing. 😎

@skolmer to be honest, I will try to do something similar. Does it work for you? 🐱

Not sure if I can follow. Does it mean you are working on a solution to build multiple themes in a webpack based project?
We are currently using the solution posted above to be able to build a dark and a light theme that can be switched at runtime. It's working great for us, so I thought it might be worth sharing. 😎

Not sure if I can follow. Does it mean you are working on a solution to build multiple themes in a webpack based project?

I mean that if I will have the same requirement, I will do a similar setup 🐱

We are currently using the solution posted above to be able to build a dark and a light theme that can be switched at runtime. It's working great for us, so I thought it might be worth sharing. 😎

It worth a post on dev.to 👍  Closing this for housekeeping, but please post a link to a post if you will create it 😃

Not sure if I can follow. Does it mean you are working on a solution to build multiple themes in a webpack based project?

I mean that if I will have the same requirement, I will do a similar setup 🐱

We are currently using the solution posted above to be able to build a dark and a light theme that can be switched at runtime. It's working great for us, so I thought it might be worth sharing. 😎

It worth a post on dev.to 👍  Closing this for housekeeping, but please post a link to a post if you will create it 😃


{k8s-extension} drop azure-mgmt-relay sdk dependency

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

k8s-extension

Please rerun tests in live mode.

Please rerun tests in live mode.

These tests are in mode record_only.


fix: rebase fixes and adaptations

Rebase of

cairo-vm
cairo
blockifier
starknet-api

New features/bugs fixed

VM follows the step limit set in the pallet
Cairo 2.1.0

@apoorvsadana I think this one can be rebased now that the CI is fixed


Website agent - specify which field needs to be unique

I have a website agent set up with following code:
{
  "expected_update_period_in_days": "30",
  "url_from_event": "https://www.lotus-simulator.de/forum/index.php?thread/778-neuigkeiten-rund-um-lotus/&pageNo={{latest_page}}",
  "type": "html",
  "mode": "on_change",
  "extract": {
    "url": {
      "css": ".messageHeaderMetaData a",
      "value": "@href"
    },
    "title": {
      "css": ".contentTitle",
      "value": "./node()",
      "repeat": "true"
    },
    "content": {
      "css": ".messageText",
      "value": "./node()"
    },
    "date": {
      "css": ".messageHeaderMetaData time",
      "value": "@datetime"
    },
    "id": {
      "css": ".message",
      "value": "@data-post-id"
    }
  }
}

How can I tell it do consider it as a new item if id is different. on_change looks at all fields and I have a issue that posts that have youtube videos in the change with every check because the html changes a bit. Can be seen here:

Or can I somehow tell that don't monitor changes in content (because I need to pass content on to next agent)

You can do that by passing the Events to a ChangeDetectorAgent which is more configurable. The WebsiteAgent always checks if the whole Event it emits changed.

Thanks,
sorry to ask, but could you provide an example how I can configure this. The example provided with the agent doesn't really help at all (+ I a complete rookie with this liquid templating) and doesn't last_property mean it only is able to check one event behind? What would happen if the rss feed picks up item1 >item2 > item 3 > item1 (again)? Because that's the issue I have, it picks the same item up again every time it scans the website because the video iframe changes.

What would happen if the rss feed picks up item1 >item2 > item 3 > item1 (again)?

In that case the ChangeDetectorAgent would emit the Event again, it is useful when you want to watch for changes of one property (like the price of an item for example).
For your use case the DeDuplicationAgent might be better you can configure it's property using liquid to something like this {{url}}{{title}}{{date}} if you only want to de-duplicate Events based on those three properties.

That worked @dsander . Thanks.


Define _SC_PAGE_SIZE constants

According to POSIX, sysconf can take _SC_PAGESIZE or _SC_PAGE_SIZE,
which may be the same value.  This constant was defined in "apple" as
equal to _SC_PAGESIZE, but not any of the other platforms.
Add definitions for _SC_PAGE_SIZE for all platforms which had
_SC_PAGESIZE defined. On all platforms but Android (Bionic), they are
the same value; on Android _SC_PAGE_SIZE has a different value.

Gah alas I merged https://github.com/rust-lang-nursery/libc/pull/167 before I got to this one, and unfortunately unlike Rust we don't have @bors to auto-rebase everything. Could you rebase and re-push? I'll merge once the CI passes there as well.

Rebased


Drag drop position is off with canvas_items stretch mode

Godot version
v4.0.alpha.custom_build [887d4bd0d]
System information
Windows 10, Vulkan, NVIDIA GeForce RTX 2070 SUPER
Issue description
The positions drag and drop is detecting other controls seems to be calculated wrong when using canvas_items stretch mode and a resized window.
Steps to reproduce

Set up two controls for drag and drop
Set window stretch mode in project settings to canvas_items
Resize window either resizing during runtime or setting window width/height override
Try to drag the controls onto each other
The position the controls detect each other for drag and drop is incorrect (off screen in MRP)

Minimal reproduction project
drag_drop_bug.zip

Related to https://github.com/godotengine/godot/issues/54030.


Increase web seed request size from 16kb

Everytime it return 16.5kb data size, I think it is too small .

It's not possible currently, but @DiegoRBaquero is working on it. I think he was pretty close to have it working.

At the moment, you can't. I managed to get it up to the piece length, which you can test here: https://rawgit.com/DiegoRBaquero/BMagnet/master/demo/bmagnet.html
I don't really know when I'm going to make the PRs, because I did the changes manually in the node modules and have been sick.

@DiegoRBaquero Do you mind quickly describing the changes you made? I can go through and make all the changes to the various modules. I have free time at the moment.

I guess https://github.com/DiegoRBaquero/BMagnet/commit/5b9e389d59c31c1963420543bfcbc75a5c4661e8

@feross Going to do that now.

Make the changes or describe them? ;)

@feross Make the changes and PR to the respective modules

nice :+1:

@feross Any updates or changes that should be made? Maybe allow the users to selected through the opts the max size?

This is released as 0.81.0. The web seed request size is now equal to the piece size, which is much better.


Handling misconfigured provider errors

It seems that grant errors with it's own error message and a 200 when you navigate to
/connect/sdsdlknlaslfkdm
For example.
Is there a way we can trigger a handle-able error for this?

I should probably set the status code to something other than 200. After that you will be able to handle the error based on the response's status code.

Currently the only way to check for errors is to check whether the response body have an error key in it.

Do you have any time to make an update? I'd be happy to raise a PR for it!
Cheers
Alex

Yes, I'm going to add a more appropriate error code and tests for it. It'll probably take me a day or two to get to it, hopefully it's not that urgent for you.

No I have a workaround for now, but thank you for looking at it!
Here's my workaround if anyone's interested:
app.get(['/connect/:provider'], function(req, res, next){
if (req.params.provider === 'login' || req.params.provider === 'otherProvider') {
    next()
} else {
    res.redirect('/error')
  }
})
app.use(grant)

Cheers
Alex

Just realised i've raised this on the wrong project!

Not a problem :)

@AlexFergs on a second thought that's not a Grant's problem :)
Grant always redirects you to the URL that you specify through the callback key in your configuration. The reason why the error is encoded in the querystring is because this type of OAuth flow involves human interaction and a browser. So that's the most reliable way to return something back to the user.
Once Grant redirects you back to your final callback route it's your own responsibility to decide what you want to do next. The error is aways returned in the querystring as {error: {....}} so it's up to you to return some error status code if you want.
Let me know if that makes sense, or if you need an example.

So if I have a globally defined callback, any mismatching provider
e.g /connect/unconfigured_provider
It will always hit that callback?

@simov Ah I see, I was missing a global callback in my settings! Thanks for your help!

@AlexFergs I'm copy/pasting your comments here, because I think they contain valuable information, but for some reason are missing from this thread:

So if I have a globally defined callback, any mismatching provider
e.g /connect/unconfigured_provider
It will always hit that callback?

@simov Ah I see, I was missing a global callback in my settings! Thanks for your help!

Yep, that sounds like a good solution to me.
I'm closing this issue now, feel free to open another issue if you have more questions, this time in the Grant repo :)


[Bug] Missing ';' at EOL

Bug report
Hi,
file "backpack/crud/src/resources/views/crud/fields/relationship/fetch_or_create.blade.php"
at line 236 the ';' character is migging, causing me JS error at runtime.
...
$pair = { [$relatedKeyName] : $key, [$relatedAttribute] : $value}
$return = {...$return, ...$pair};
...

Adding the ';' at the EOL fix the issue.

@dplicato can you provide me your browser version ?
Thanks

@dplicato can you provide me your browser version ?
Thanks

Google Chrome Version 91.0.4472.124 (offical) (64 bit)


Revert "HACK to allow release w/o updating npm packages"

This reverts commit 10cba636b3a7401536114701ff4f07296fc445e4.

Handled on #88
Thanks!


Adding instructions for Install in Arch Linux

I maintained the packages in Arch Linux User Repository

@dbinary Thanks!


Allow ogit/Auth/Account > ogit/accepts > ogit/TermsAndConditions

Hello guys. We need users to accept HIRO Developer Portal terms before proceeding to platform.

ping @viteke @rudi147


chore: add analyzer to PR check pipeline

Now with strong mode enabled, we can properly validate PRs code styles, this PR adds the flutter analyze to the pr check pipeline
This was not simple as I would expected it to be because of this https://github.com/flutter/flutter/issues/62591, but I could avoid it by placing all effective_dart.1.2.0.yaml rules at getx analisis_options.yaml instead of using the include directive.
I've also, fixed new lint issues

Thank you for that!
LGTM


Mobile - 320x100 Ad Unit + 300x250 / 336x280 below the fold

Google (and any other DFP capable code) allows 320x100 leaderboards units on mobile views in both AdSense and AdExchange as do other networks via DFP.
Also, 300x250 and 336x280 ad units are allowed below the fold in mobile units.
Would it be possible to add some configuration options to the plugin to support these sizes?
Happy to make donations for new features to be added to the code.

@gcshri - this should be possible.  @cyberkoi - fancy some coding at RubyConf to do this together?
Also, thanks for your offer of donations - undeserved by us but very gracious of you.  We can't accept donations personally, but if you do want to make one - I know Rails Girls Summer of Code 2016 accepts them.

@adcopywriter yep sure. been swamped recently. otherwise, happy to do it from home post-conf, seems quite straightforward :smile:

@cyberkoi - that'd be great if you do it post-conf.  Can you liaise with @gcshri directly then.  I've got a pretty full on 3 months ahead so it'd be great if you to manage it.  Thanks!

hello @gcshri, about this case, it's less straightforward than I'd initially thought -
Backstory: All mobile ads were fixed to 320x50 to prevent the settings page from looking cluttered.
Why not just duplicate the size input boxes for each location? That's the easiest solution, but the end result would be twice the number of input boxes you currently see on the settings page.
Function-wise it'll be great, but it'll be terribly, terribly difficult to use.
What now? In short, I'm thinking of a way to structure it such that including more mobile size options will not decrease the overall user experience. This might actually require a total revamp of how the plugins settings page looks - it'll take time.
Temporary solution: If you urgently require a certain size throughout all your mobile ads, I would recommend changing the dimensions on the files.
(Drawback: All mobile ads would be of the same size, still)


I would like to request sensible rounding for all extractors

Please describe your request. Is your feature request related to a problem?
Currently e.g. canopy cover results have arbitrary level of precision, e.g. 64.40907821786126% canopy cover. For this measurement it can be rounded to the nearest whole number.
Describe the solution you'd like

[ ] sensible rounding by default for plot-level phenotypes. Three significant digits is a sensible default (e.g. 64.4 or 6.44 or 0.644)
[ ] a test that no extractor allows more than 5 significant digits (if this becomes necessary for a particular extractor this can be revisited)

Closing as obsolete. Replaced by https://github.com/AgPipeline/issues-and-projects/issues/342


train.py----->"TypeError: 'numpy.float64' object cannot be interpreted as an integer" and "TypeError: Object of type 'ndarray' is not JSON serializable "

`
runtime.step=2250, runtime.steptime=0.2624, runtime.voxel_gene_time=0.001374, runtime.prep_time=0.05496, loss.cls_loss=0.2967, loss.cls_loss_rt=0.3549, loss.loc_loss=0.5239, loss.loc_loss_rt=0.5036, loss.loc_elem=[0.008796, 0.01199, 0.1004, 0.0109, 0.03556, 0.01613, 0.06806], loss.cls_pos_rt=0.2487, loss.cls_neg_rt=0.1062, loss.dir_rt=0.4927, rpn_acc=0.9993<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>misc.num_vox=30752, misc.num_pos=60, misc.num_neg=70263, misc.num_anchors=70400, misc.lr=0.0005046, misc.mem_usage=25.9
runtime.step=2300, runtime.steptime=0.2481, runtime.voxel_gene_time=0.001561, runtime.prep_time=0.0813, loss.cls_loss=0.2928, loss.cls_loss_rt=0.2211, loss.loc_loss=0.5189, loss.loc_loss_rt=0.3877, loss.loc_elem=[0.008733, 0.009574, 0.02625, 0.01872, 0.04538, 0.0329, 0.05227], loss.cls_pos_rt=0.1724, loss.cls_neg_rt=0.04868, loss.dir_rt=0.5206, rpn_acc=0.9993<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>misc.num_vox=34000, misc.num_pos=59, misc.num_neg=70244, misc.num_anchors=70400, misc.lr=0.0005165, misc.mem_usage=25.9
#################################
EVAL
#################################
Generate output labels...
[100.0%][===================>][20.00it/s][01:44>00:00]
generate label finished(35.85/s). start eval:
/opt/conda/lib/python3.6/site-packages/numba/core/typed_passes.py:327: NumbaPerformanceWarning:
The keyword argument 'parallel=True' was specified but no transformation for parallel execution was possible.
To find out why, try turning on parallel diagnostics, see https://numba.pydata.org/numba-doc/latest/user/parallel.html#diagnostics for help.
File "../utils/eval.py", line 129:
@numba.jit(nopython=True, parallel=True)
def box3d_overlap_kernel(boxes,
^
state.func_ir.loc))
Traceback (most recent call last):
File "/data/second.pytorch/second/pytorch/train.py", line 407, in train
detections, str(result_path_step))
File "/data/second.pytorch/second/data/kitti_dataset.py", line 149, in evaluation
z_center=z_center)
File "/data/second.pytorch/second/utils/eval.py", line 884, in get_coco_eval_result
z_center=z_center)
File "/data//second.pytorch/second/utils/eval.py", line 704, in do_coco_style_eval
min_overlaps[:, i, j] = np.linspace(*overlap_ranges[:, i, j])
File "<array_function internals>", line 6, in linspace
File "/opt/conda/lib/python3.6/site-packages/numpy/core/function_base.py", line 113, in linspace
num = operator.index(num)
TypeError: 'numpy.float64' object cannot be interpreted as an integer
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/data/second.pytorch/second/pytorch/train.py", line 678, in
resume=False)
File "/second.pytorch/second/pytorch/train.py", line 421, in train
print(json.dumps(example["metadata"], indent=2))
File "/opt/conda/lib/python3.6/json/init.py", line 238, in dumps
**kw).encode(obj)
File "/opt/conda/lib/python3.6/json/encoder.py", line 201, in encode
chunks = list(chunks)
File "/opt/conda/lib/python3.6/json/encoder.py", line 428, in _iterencode
yield from _iterencode_list(o, _current_indent_level)
File "/opt/conda/lib/python3.6/json/encoder.py", line 325, in _iterencode_list
yield from chunks
File "/opt/conda/lib/python3.6/json/encoder.py", line 404, in _iterencode_dict
yield from chunks
File "/opt/conda/lib/python3.6/json/encoder.py", line 437, in _iterencode
o = _default(o)
File "/opt/conda/lib/python3.6/json/encoder.py", line 180, in default
o.class.name)
TypeError: Object of type 'ndarray' is not JSON serializable
`

I'm experiencing same issue.
It reproduced on docker.
Dockerfile.txt
+ python ./pytorch/train.py evaluate --config_path=/mnt/host/vol/second.pytorch/second/configs/all.fhd.config.fixed --model_dir=/mnt/host/vol/second.pytorch/second/configs/pointpillars/model_result --measure_time=True --batch_size=1
/miniconda/envs/py38/lib/python3.8/site-packages/numba/cuda/envvars.py:17: NumbaWarning:
Environment variables with the 'NUMBAPRO' prefix are deprecated and consequently ignored, found use of NUMBAPRO_CUDA_DRIVER=/usr/lib/x86_64-linux-gnu/libcuda.so.

For more information about alternatives visit: ('https://numba.pydata.org/numba-doc/latest/cuda/overview.html', '#cudatoolkit-lookup')
/miniconda/envs/py38/lib/python3.8/site-packages/numba/cuda/envvars.py:17: NumbaWarning:
Environment variables with the 'NUMBAPRO' prefix are deprecated and consequently ignored, found use of NUMBAPRO_NVVM=/usr/local/cuda/nvvm/lib64/libnvvm.so.

For more information about alternatives visit: ('https://numba.pydata.org/numba-doc/latest/cuda/overview.html', '#cudatoolkit-lookup')
  warnings.warn(errors.NumbaWarning(msg))
/miniconda/envs/py38/lib/python3.8/site-packages/numba/cuda/envvars.py:17: NumbaWarning:
Environment variables with the 'NUMBAPRO' prefix are deprecated and consequently ignored, found use of NUMBAPRO_LIBDEVICE=/usr/local/cuda/nvvm/libdevice.

For more information about alternatives visit: ('https://numba.pydata.org/numba-doc/latest/cuda/overview.html', '#cudatoolkit-lookup')
  warnings.warn(errors.NumbaWarning(msg))
[  41 1280 1056]
feature_map_size [1, 160, 132]
remain number of infos: 3769
Generate output labels...
[100.0%][===================>][10.32it/s][06:16>00:00]
generate label finished(9.99/s). start eval:
avg example to torch time: 5.093 ms
avg prep time: 6.488 ms
avg voxel_feature_extractor time = 0.494 ms
avg middle forward time = 50.746 ms
avg rpn forward time = 13.280 ms
avg predict time = 23.484 ms
/miniconda/envs/py38/lib/python3.8/site-packages/numba/core/typed_passes.py:326: NumbaPerformanceWarning:
The keyword argument 'parallel=True' was specified but no transformation for parallel execution was possible.

To find out why, try turning on parallel diagnostics, see https://numba.pydata.org/numba-doc/latest/user/parallel.html#diagnostics for help.

File "utils/eval.py", line 129:
@numba.jit(nopython=True, parallel=True)
def box3d_overlap_kernel(boxes,
^

  warnings.warn(errors.NumbaPerformanceWarning(msg,
Traceback (most recent call last):
  File "./pytorch/train.py", line 663, in <module>
    fire.Fire()
  File "/miniconda/envs/py38/lib/python3.8/site-packages/fire/core.py", line 141, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/miniconda/envs/py38/lib/python3.8/site-packages/fire/core.py", line 466, in _Fire
    component, remaining_args = _CallAndUpdateTrace(
  File "/miniconda/envs/py38/lib/python3.8/site-packages/fire/core.py", line 681, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "./pytorch/train.py", line 540, in evaluate
    result_dict = eval_dataset.dataset.evaluation(detections,
  File "/mnt/host/vol/second.pytorch/second/data/kitti_dataset.py", line 144, in evaluation
    result_coco = get_coco_eval_result(
  File "/mnt/host/vol/second.pytorch/second/utils/eval.py", line 877, in get_coco_eval_result
    mAPbbox, mAPbev, mAP3d, mAPaos = do_coco_style_eval(
  File "/mnt/host/vol/second.pytorch/second/utils/eval.py", line 704, in do_coco_style_eval
    min_overlaps[:, i, j] = np.linspace(*overlap_ranges[:, i, j])
  File "<__array_function__ internals>", line 5, in linspace
  File "/miniconda/envs/py38/lib/python3.8/site-packages/numpy/core/function_base.py", line 120, in linspace
    num = operator.index(num)
TypeError: 'numpy.float64' object cannot be interpreted as an integer

this occur because of numpy version.
if you may install numpy==1.17.4, this error will not occur

Thank you for your advice !
Today I downgraded numpy with 1.16.0 also according to this article.
The error I experienced as I posted was solved.
However new error has appeared instead of it.
[  41 1280 1056]
feature_map_size [1, 160, 132]
remain number of infos: 3769
Generate output labels...
[7.005%][>...................][0.31it/s][03:03>03:06:20]
Traceback (most recent call last):0it/s][04:36>04:54:37]
  File "./pytorch/train.py", line 663, in <module>
    fire.Fire()
  File "/miniconda/envs/py37/lib/python3.7/site-packages/fire/core.py", line 141, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/miniconda/envs/py37/lib/python3.7/site-packages/fire/core.py", line 471, in _Fire
    target=component.__name__)
  File "/miniconda/envs/py37/lib/python3.7/site-packages/fire/core.py", line 681, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "./pytorch/train.py", line 524, in evaluate
    detections += net(example)
  File "/miniconda/envs/py37/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "/mnt/host/vol/second.pytorch/second/pytorch/models/voxelnet.py", line 363, in forward
    preds_dict = self.network_forward(voxels, num_points, coors, batch_size_dev)
  File "/mnt/host/vol/second.pytorch/second/pytorch/models/voxelnet.py", line 332, in network_forward
    voxel_features, coors, batch_size)
  File "/miniconda/envs/py37/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "/mnt/host/vol/second.pytorch/second/pytorch/models/middle.py", line 203, in forward
    ret = self.middle_conv(ret)
  File "/miniconda/envs/py37/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "/miniconda/envs/py37/lib/python3.7/site-packages/spconv/modules.py", line 133, in forward
    input = module(input)
  File "/miniconda/envs/py37/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "/miniconda/envs/py37/lib/python3.7/site-packages/spconv/conv.py", line 192, in forward
    outids.shape[0])
  File "/miniconda/envs/py37/lib/python3.7/site-packages/spconv/functional.py", line 83, in forward
    return ops.indice_conv(features, filters, indice_pairs, indice_pair_num, num_activate_out, False, True)
  File "/miniconda/envs/py37/lib/python3.7/site-packages/spconv/ops.py", line 116, in indice_conv
    int(inverse), int(subm))
  File "/miniconda/envs/py37/lib/python3.7/site-packages/torch/utils/data/_utils/signal_handling.py", line 66, in handler
    _error_if_any_worker_fails()

oh... sorry to hear that
new issue is issue that I was not faced.
sorry to much

No worries. Your advice solved the one of problems I'm facing. Thank you !

It worked ! (Almost of 0.00 but this may be caused by different kind of issue )
Evaluation official
Car AP(Average<EMAIL_ADDRESS>0.70, 0.70:
bbox AP:0.00, 0.00, 0.00
bev  AP:0.00, 0.00, 0.00
3d   AP:0.00, 0.00, 0.00
aos  AP:0.00, 0.00, 0.00
Car AP(Average<EMAIL_ADDRESS>0.50, 0.50:
      . . .
Van coco AP@0.50:0.05:0.95:
bbox AP:0.00, 0.00, 0.00
bev  AP:0.00, 0.00, 0.00
3d   AP:0.00, 0.00, 0.00
aos  AP:0.00, 0.00, 0.00

This issue occurred because memory out, is right?

I guess so. It worked after add shm_size: '2gb' to the docker-compose.yml .
docker-compose.yml.txt
Dockerfile.txt

I guess so. It worked after add shm_size: '2gb' to the docker-compose.yml . I didn't change other part of docker-compose.yml.txt and Dockerfile.txt

Hi, I found a similar error. How to do that in a non-docker environment? I run it in my computer with one RTX 2060 in Ubuntu 18.04

You can change the evel.py file instead of changing the numpy version:
/data//second.pytorch/second/utils/eval.py
Line 704:
for i in range(overlap_ranges.shape[1]):
    for j in range(overlap_ranges.shape[2]):
        a, b, c = overlap_ranges[:, i, j]  # extracting the three numbers
        min_overlaps[:, i, j] = np.linspace(a, b, int(c))
        # min_overlaps[:, i, j] = np.linspace(*overlap_ranges[:, i, j])

like this. This might solve the problem.

It worked ! (Almost of 0.00 but this may be caused by different kind of issue )
Evaluation official
Car AP(Average<EMAIL_ADDRESS>0.70, 0.70:
bbox AP:0.00, 0.00, 0.00
bev  AP:0.00, 0.00, 0.00
3d   AP:0.00, 0.00, 0.00
aos  AP:0.00, 0.00, 0.00
Car AP(Average<EMAIL_ADDRESS>0.50, 0.50:
      . . .
Van coco AP@0.50:0.05:0.95:
bbox AP:0.00, 0.00, 0.00
bev  AP:0.00, 0.00, 0.00
3d   AP:0.00, 0.00, 0.00
aos  AP:0.00, 0.00, 0.00

Hi @WesternHill ,
Were you able to solve eval 0.00 problem? Did you get any evaluation? I am facing the same problem.

If you are running any Object detection and facing this issue, it is because of version conflicts in 'pycocotools'.  Uninstall and reinstall it, your problem will be solved.
pip uninstall pycocotools
pip install pycocotools


compiler are little stupid (sorry from this word)

Bug Report
disclaimer
I`m from Ukraine, so you may find mistakes in the text or not accepted vocabulary in English lang
🕗 Version & Regression Information
version: 4.5.4

please make your compiler see more than one line when it checks my code

🔗  playground link
click here to see my code : )
please read comments in my code
💻 Code
this is a method of class "Scene". I made css 3D engine.
61 removeHTML(){
62     if(this.element.querySelector(`#${this.name}`)){
63        this.element.querySelector(`#${this.name}`).outerHTML=''; //TypeScript think here error, but I made protection from stupid on string 62
64      }
65  }

🙁 Actual behavior
your compiler see one line and think here error, but must no errors because I catch this(I write in this manner because not want to repeat : ) )
🙂 Expected behavior
he must see more lines : )
this is must be easy 👍 for you : )

The compiler doesn't know that the function will always return the same value and is correctly assuming the next invocation might return a different value.
Just store the function result in a variable.

I forget write "}" in code block.
this function not returns value,
it editing html.
compiler "see":
this.element.querySelector(`#${this.name}`).outerHTML='';

must "see":(well at least so)
if(this.element.querySelector(`#${this.name}`)){
        this.element.querySelector(`#${this.name}`).outerHTML='';
 }

it would be better if he saw the whole method

wow
thank you very much.
but he complained that I use a non-existent method for null

It's saying that whatever this.element.querySelector(#${this.name}) returns might be null, so you can't access outerHTML. That's the correct behaviour, as we mentioned.

It looks like this is a question rather than a bug report. This issue tracker is for tracking bugs and active work on TypeScript itself, rather than a general forum for programmers using TypeScript to get help or ask questions.
You can ask questions on sites like Stack Overflow. We are not able to provide one-on-one support on the issue tracker. Please read the issue template carefully - it has important information on what kinds of reports can be acted on here, as well as links to useful TypeScript resources. Thanks!


[vuex] already installed. Vue.use(Vuex) should be called only once.

Vue.js version: 2
consumed using: webpack
FULL error message (including stack trace):

[vuex] already installed. Vue.use(Vuex) should be called only once.
install @ vuex.esm.js?edaa:668
Be.e.use @ vue.min.js:6
(anonymous) @ app.js?8b67:27
(anonymous) @ app-d224dac622.js:407
__webpack_require__ @ app-d224dac622.js:20
(anonymous) @ app-d224dac622.js:64
(anonymous) @ app-d224dac622.js:67

relevant code:

import Vuex from 'vuex';
import { VuePagination, VueEvent } from 'vue-pagination-2';

Vue.use(Vuex);
Vue.use(VuePagination);

steps for reproducing the issue:
In a Laravel 5.4 project, in resources/assets/js/app.js I have declared the above. Everything works if I comment out Vue.use(Vuex);.

+1! How can I fix this problem?

I have no reference to vuex in my code other then registering a module.
I was unable to reproduce this problem.


Destructuring record that contains Finalizable throws "Attempt to execute code removed by Dart AOT compiler (TFA)"

This tracker is for issues related to:

Dart VM

Executing the following program (see this repository for a full repro) causes "Attempt to execute code removed by Dart AOT compiler (TFA)" to be thrown:
import 'package:cbl/cbl.dart';
import 'package:cbl_dart/cbl_dart.dart';

void main() async {
  await CouchbaseLiteDart.init(edition: Edition.enterprise);

  final db = Database.openSync('db');

  final replicatorConfiguration = ReplicatorConfiguration(
    target: UrlEndpoint(Uri.parse('ws://localhost:4984/db')),
  )..addCollection(db.defaultCollection);

  final replicator = await Replicator.createSync(replicatorConfiguration);

  await replicator.close();
  await db.close();
}

Unhandled exception:
Attempt to execute code removed by Dart AOT compiler (TFA)
#0      FfiReplicator.create (package:cbl/src/replication/ffi_replicator.dart)
#1      SyncReplicator.create (package:cbl/src/replication/replicator.dart:278)
#2      Replicator.createSync (package:cbl/src/replication/replicator.dart:147)
#3      main (file:///Users/terwesten/dev/repo_cbl_code_removed_tfa/main.dart:14)
<asynchronous suspension>

If providing this information as part of reporting a bug, please review the information
below to ensure it only contains things you're comfortable posting publicly.

#### General info

- Dart 3.3.0-219.0.dev (dev) (Mon Dec 11 20:03:47 2023 -0800) on "macos_arm64"
- on macos / Version 14.2 (Build 23C64)
- locale is en-US

#### Project info

- sdk constraint: '^3.2.0'
- dependencies: cbl, cbl_dart
- dev_dependencies:

#### Process info

| Memory |  CPU | Elapsed time | Command line                                                                    |
| -----: | ---: | -----------: | ------------------------------------------------------------------------------- |
|  71 MB | 0.0% |        09:38 | dart devtools --machine --allow-embedding --port 9199                           |
| 588 MB | 0.0% |        09:38 | dart language-server --protocol=lsp --client-id=VS-Code --client-version=3.78.2 |
| 456 MB | 0.0% |        08:16 | dart language-server --protocol=lsp --client-id=VS-Code --client-version=3.78.2 |
| 150 MB | 0.0% |        09:38 | flutter_tools.snapshot daemon

Actually, here is a minimal reproducible example:
import 'dart:ffi';

void main() {
  final (a, _) = b();
  print(a);
}

class A implements Finalizable {}

(A, bool) b() => (A(), true);

Unhandled exception:
Attempt to execute code removed by Dart AOT compiler (TFA)
#0      main (file:///Users/terwesten/dev/repo_cbl_code_removed_tfa/simple.dart)
#1      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297)
#2      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184)

/cc @dcharkes

I suspect we have another corner case with the finalizable transform, some previous corner cases:

https://github.com/dart-lang/sdk/issues/52596
https://github.com/dart-lang/sdk/issues/51538

Let me investigate what the compiler makes of this.

Fix: https://dart-review.googlesource.com/c/sdk/+/343180
Thanks for reporting @blaugold !

@dcharkes  Can this be closed ?

I'd like someone from the VM team to review the fix and land it first.


trouble with Cyrillic in Extract for Brackets (Preview)

not help:
reinstall brackets,
instal version 1.1 ,
new adobe acc,
new windows.
Please help

Could you share a sample psd with the Cyrillic font problem?

Problem is in all psd files with Cyrillic text
http://rghost.ru/6bLpqgXSc for exemple

@h0m1c1de thanks for the upload, I was able to reproduce the issue in brackets. Most probably a font issue, the issue is not present in cc web.

#8985 will probably fix that issue.

@MarcelGerber I think this one is different -- it's not just an ugly font, it's glyphs not getting encoded right and showing up as "X"es, which is probably a server-side Extract bug.

Deprecated feature See details . Closing.


Can --app-protocol support both HTTP and grpc?

Ask your question here
Can --app-protocol support both HTTP and grpc?  I want to be able to call one service through HTTP and grpc. Is this possible?

Moved this issue here, since it a runtime related question and not directly CLI related.

@zxyao145 As of right now daprd to which dapr CLI passes the app-protocol argument, only supports gRPC or HTTP and not both at the same time. See https://github.com/dapr/dapr/blob/master/pkg/runtime/cli.go#L51 @artursouza @yaron2 Please correct me if I am wrong.

Hi! Yes, I can control the use of HTTP or grpc through app-protocol, but I want to use both at the same time. Will dapr consider this possibility? Or do I need to start two sidecars?

@zxyao145 Can you give us a use case where this would be needed?

There is no use case, just a demo. What I understand is that if grpc and HTTP are mixed in the application, it may need to use both protocols at the same time.
I just got in touch with dapr and may have misunderstood it.

I also encountered this problem. A microservice needs to be accessed by users through HTTP and other microservices in dapr through grpc,. If I divide it into two, it will become two service instances, which will lead to data synchronization problems (they use the same data and cache)

The problem has been solved  :    https://github.com/dapr/dapr/issues/4325
dapr run --dapr-http-port 3501 --app-port 5006 --app-id orderapi --app-protocol grpc --app-protocol http dotnet .\Micro.Order.API.dll --app-ssl
dapr run XXXXXX --app-protocol grpc --app-protocol http XXXXX
The problem has been solved  :    https://github.com/dapr/dapr/issues/4325


Team Member Code Review

Code Review
Results summary
Add a brief summary of your code review. Not more than 50 words.
Looking through this code, I get amazing amounts of HTML, CSS, and JavaScript. It is a perfect amount because it balances so gracefully. The hover effect for the button, how it changes color is really fascinating as well. Safe to say this is a great example of a to-do list.
Checklist

[√] The web app fulfills the minimum functional requirements in the assignment readme file
[√] GitHub Pages is activated in the repo and the web app is live
[√] The HTML index.html page passes W3C HTML validation
[√] The web app passes W3C CSS validation

Screenshot
Add a screenshot of the app that you were testing.

Hey @AzenAli2005 - great job with your review. And love the screenshots you included.
Also - don't forget to test edge cases like adding a "blank" "" todo or adding a todo with reaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaally long text to see how the CSS handles long words.


Update to aurelia-bootstrapper at 1.0.0-beta.1.0.2, fixes #266

Note that I have already signed the Contributor agreement :)


Locate all samples into one folder

What does this PR do?
I found it a bit confusing to have devworkspace and devfile samples have in different places, probably there is a motivation behind it but I missed that.
So, this PR locates all samples into one folder. It's devfile-support/samples folder.
Alternative
I don't really understand the purpose of devfile-support folder and it may even make sense to move all samples into /sample directory in the project root.
What issues does this PR fix or reference?
N/A
Is your PR tested? Consider putting some instruction how to test your changes
Made sure that validate-samples script works as expected
Docs PR
https://github.com/devfile/docs/pull/7

Probably the purpose of having the devfile samples in a dedicated folder used to make more sense at the beginning of this repository, when the main purpose of this repository was to provide a Kubernetes API for the future Che DevWorkspace Controller, and also derive the  Devfile Json schema from it.
Now that the whole purpose of the repository is to define the main structure of the Devfile as well as associated K8S APIs, we might want to consider that the Devfile schema itself and DevWorkspace-related variants are just several ways to leverage the same core specification in different contexts.
What I'd recommend then, would be to have a single top-level folder samples, but still with one sub-folder for each type of yaml file:

Devfile
DevWorkspace
DevWorkspaceTemplate

This would still allow the Devfile docs website to reference a folder with only devfiles, like it was until now: https://devfile.github.io/devfile/index.html#_devfile_v2_0_examples

@davidfestal Could you please review it one more time, as well as docs related PR https://github.com/devfile/docs/pull/7 ?


[SMALLFIX] Update safe mode logging

This addresses a few minor issues in the log messages surrounding startup safe mode

It isn't clear to users what we mean by safe mode. It's clearer to say what it means, i.e. that we're waiting to give workers a chance to register.
Because we exit safe mode lazily, we might log "Expect leaving safe mode after 5000ms", but then wait much more than 5000ms before logging "Exiting safe mode".

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/19214/
Test PASSed.


⚠ Samsung has degraded performance

In 01a7f93, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2789 ms

Resolved: Samsung performance has improved in c0ca0a3.


Kint modifying internal variables... fatal error

a mere Kint::trace() call is conditionally causing serious issues. In some cases its working fine but in certain places(like the one mentioned below) it is modifying my internal variable.

If I just remove the trace, its working fine. Originally that variable is an array, but after calling d(1) the variable became 'Kint_Object_Instance'.
this is quite surprising. Any help is greatly appreciated
cheers!!

Dupe of #246


Update to Babel 7.x

Hi,
This is my very firs PR which includes Babel 7.x related updates. Please let me know if you will be interested in such contribution so I can make further updates in that matter.

Hey, very cool. Thanks!
Do you think Babel 7 is stable enough to use in production? I see that it's still beta & I know personally that they want more people to test 7 before it's an official release.
I think this is the case, correct me if I'm wrong~! But if so, we should hold off on Babel 7 until it's out of beta. We'll accept this PR when that time comes 😃

Cool - I know it's beta. I made this branch for other guys so they can try to link this version if needed. I will keep eyes on this and go back when it will be more production ready.

Great, thanks!

@lukeed maybe we can publish it under beta tag? Would like to give it a try and do not want manually fetch from git repo 🐵

I also want to ask for release it under beta tag as it will be easier to test it and also - it would help me a lot to maintain this PR:
https://github.com/zeit/next.js/pull/3428

I'm going to be releasing this as a next tag, along with some changes to the Taskr itself under a next tag.
I'll come back here shortly when that's prepped!

@lukeed could you release this as next? We're planning to move Next.js to babel 7 soon.

Sure, tbh I forgot about this. I've been messing with Taskr core locally at one point and was hoping it publish it all under the next or beta tag

Thanks! Only this would be fine, don't want to fork and release our own version to test 😄

Just tried it out locally and the PR seems to work well 👍

@lukeed if you could release it that'd be awesome, it's the only thing holding back the tests in my PR 😄

Do any of the beta deps need to be updated?

yeah looks like they need to be upgraded to the latest beta, which I believe is .42

This is now available as @taskr/babel@next 🎉
I will merge when I'm ready to make the remaining Taskr changes. Thank you all & sorry for the untimely delay(s)~!

Nice! Thanks Luke 🙏

Moving this into a separate babel branch since it's still under a next tag release. The request from #315 should also be applied to this (new) branch, moving this @taskr/babel@next off the beta version.
Thanks!


Crash On inject

I pasted the new update but it still crashes. I even downloaded from github itself and tried to inject but it crashes in lobby without giving any errors

#67 no debug attached and log show

How am i supposed to show you logs when nothing gets outputted and there is no errors. I literally download the project from github and tried to inject and it crashed.

How am i supposed to show you logs when nothing gets outputted and there is no errors. I literally download the project from github and tried to inject and it crashed.

attach the debugger? show the callstack and stuffs, I literally said so in #67

learn how to use the debugger https://www.youtube.com/watch?v=__3wlUxMXlA


undefined method `first' ... rack_app = Rack::Builder.parse_file(config_ru).first

https://github.com/sickill/racksh/blob/65c35251a9c830fcc6f39fe03972897ebc110f88/lib/racksh/init.rb#L23
In Rack-3 Rack::Builder.parse_file returns simply application object.
So must be
rack_app = Rack::Builder.parse_file(config_ru)
without .first
With correction of the now missing File.exists? racksh works for me on Ruby-3.2.2 and Rack-3.0.7

Fixed by https://github.com/sickill/racksh/pull/13 that was released with 1.0.1


perf: improve performance of _get_unmapped_api_elements_as_string

Summary of Changes
Reduce the runtime of the migration script on the API data for the library-analyzer itself from 12.1s to 7.7s. For larger libraries the improvement should be more pronounced still.

🦙 MegaLinter status: ✅ SUCCESS

Descriptor
Linter
Files
Fixed
Errors
Elapsed time

✅ PYTHON
black
4
0
0
0.8s

✅ PYTHON
mypy
4

0
2.78s

✅ PYTHON
ruff
4
0
0
0.05s

✅ REPOSITORY
git_diff
yes

no
0.03s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff
MegaLinter is graciously provided by

@Aclrian It would be great if you could review this, if you have some time.


how to set display mode so it opens as full page by default

PDF's usually open with 100% width which is ugly. I would like them to open as full page by default, I know this is possible. In PHP when I make PDF's with TCPDF I can use SetDisplayMode() which works well:
http://www.tcpdf.org/doc/code/classTCPDF.html#ad99d9dea88f659fedf9fe11f30586a99
Is the same possible in pdfkit somehow?

You can set these options directly in the _root object (I will make a pull request to add an option in the PDFDocument constructor if there is still interest in this feature)
// Full page (1st page : 0)
doc._root.data.OpenAction = [0, 'Fit'];
// Display a single page
doc._root.data.PageLayout = 'SinglePage';
// Display pages in a continuous scrolling column
doc._root.data.PageLayout = 'OneColumn';
// Display pages in two continuous columns
doc._root.data.PageLayout = 'TwoColumnLeft';

Thanks, I've hacked the source code a bit to get what I wanted, but this looks better :). I'll keep this in mind.


React 19

Since React 19 is out, would it be possible to update the peer dependencies of the package to include v19?

It is already supported for V19 and working fine, are you facing any issues with React 19?
"peerDependencies": {
    "react": ">=17.0",
    "react-dom": ">=17.0"
  }


Adding keys to webhook

How do I add custom keys, e.g., token for a service, to a webhook?

Locking this thread according to policy.


Feature Toggle Part III: Using autogen HTS client for feature-toggle

Summary

This PR completes BaseTableToggleStatusesRepository by injecting ToggleStatusApi so that it will connect to HTS to check the status of a table's feature, defined by featureId, tableId and databaseId.
Meanwhile, this PR also introduces the first use case for feature-toggle: Disallow table creation when toggled off.  See the change in creationEligibilityCheck. This change should have small to little impact towards mysql-storage layer for the feature toggle, as there are only <6K table-creation request (from which this code-path will be triggered) in last 7d. Plus, this is a read-only operation for mysql.
Issue] Briefly discuss the summary of the changes made in this
pull request in 2-3 lines.
Changes

[ ] Client-facing API Changes
[ ] Internal API Changes
[ ] Bug Fixes
[x] New Features
[ ] Performance Improvements
[ ] Code Style
[ ] Refactoring
[ ] Documentation
[ ] Tests

For all the boxes checked, please include additional details of the changes made in this pull request.
Testing Done

[x] Manually Tested on local docker setup. Please include commands ran, and their output.
[x] Added new tests for the changes made.
[ ] Updated existing tests to reflect the changes made.
[ ] No tests added or updated. Please explain why. If unsure, please feel free to ask for help.
[ ] Some other form of testing like staging or soak time in production. Please explain.

Adding unit tests cases for the new code added.
Also, tested the changes in the local environment, in the following sequence:
INSERT IGNORE INTO table_toggle_rule (feature, database_pattern, table_pattern, id, creation_time_ms) \
 VALUES ('stop_create', 'demodb', 'demotable', DEFAULT, DEFAULT);

 mysql> select * from table_toggle_rule;
+-------------+------------------+---------------+----+------------------+----------------------------+
| feature     | database_pattern | table_pattern | id | creation_time_ms | ETL_TS                     |
+-------------+------------------+---------------+----+------------------+----------------------------+
| demo        | demodb           | demotable     |  1 |             NULL | 2024-08-27 23:42:39.599344 |
| stop_create | demodb           | demotable     |  2 |             NULL | 2024-08-27 23:49:33.036207 |
+-------------+------------------+---------------+----+------------------+----------------------------+

First step is ensuring the new feature-rule is inserted.
Then, creating the tables:
curl "${curlArgs[@]}" -XPOST http://localhost:8000/v1/databases/demodb/tables/ \
--data-raw '{
  "tableId": "demotable",
  "databaseId": "demodb",
  "baseTableVersion": "INITIAL_VERSION",
  "clusterId": "LocalS3Cluster",
  "schema": "{\"type\": \"struct\", \"fields\": [{\"id\": 1,\"required\": true,\"name\": \"id\",\"type\": \"string\"},{\"id\": 2,\"required\": true,\"name\": \"name\",\"type\": \"string\"},{\"id\": 3,\"required\": true,\"name\": \"ts\",\"type\": \"timestamp\"}]}",
  "timePartitioning": {
    "columnName": "ts",
    "granularity": "HOUR"
  },
  "tableProperties": {
    "key": "value"
  }
}'

The command above get the following responses:
{"status":"FORBIDDEN","error":"Forbidden","message":"Feature [stop_create] has been toggled off for the [demodb.demotable]","stacktrace":null,"cause":"Not Available"}%

Additional Information

[ ] Breaking Changes
[ ] Deprecations
[ ] Large PR broken into smaller PRs, and PR plan linked in the description.

For all the boxes checked, include additional details of the changes made in this pull request.

The next-step is to allow feature-toggle to be specified using wildcard, to fully satisfy the requirement from stoping table-creation briefly if necessary.

A few next-step lined up from reviewing:

Upgrade Lombok to 1.8.22+ to enable @StandardException, and test.
Exception handling for ResourceGatedByToggledOnFeatureException
wildcard support for feature-toggle, so that for the use case of stop-creation, we can use *,*,stop-create
refactor property-check bean to ensure it has tableDTO included in the signature.
wiring preserved-key check with feature-toggle, allow MoR props to be enabled for some DB/tables.


golangci-lint built with go1.21

Describe the bug
golangci-lint has version 1.54.2 built with go1.20.7 from v1.54.2 on 19700101-00:00:00

../../../../nix/store/zrdn5v1dix3g46nr3lv1n3ii8ngs9zzv-go-1.21.0/share/go/src/slices/sort.go:97:7: undefined: max (typecheck)
		m = max(m, x[i])

Steps To Reproduce

Use golangci-lint on a project built with go1.21

Expected behavior
golangci-lint 1.54.2 should support go1.21
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.41, NixOS, 23.05 (Stoat), 23.05.20230822.a16f7eb`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.5`
 - channels(root): `""`
 - channels(ptman): `"home-manager-23.05.tar.gz, nixpkgs-unstable"`
 - nixpkgs: `/etc/nixpkgsPath`

@ptman currently default go in nixpkgs is go1.20 you can rebuild golangci-lint with go1.21 using
golangci-lint.override { buildGoModule = buildGo121Module; }

Fair enough.


Update SharePoint_Downloads_byNewIP.yaml

Required items, please complete
Change(s):

See guidance below

Reason for Change(s): Current query is generating too many FP's, so added additional logics to minimize the FP's

See guidance below

Version Updated:

Required only for Detections/Analytic Rule templates
See guidance below

Testing Completed:

See guidance below

Checked that the validations are passing and have addressed any issues that are present:

See guidance below

Guidance <- remove section before submitting

Before submitting this PR please ensure that you have read the following sections and filled out the changes, reason for change and testing complete sections:
Thank you for your contribution to the Microsoft Sentinel Github repo.

Details of the code changes in your submitted PR.  Providing descriptions for pull requests ensures there is context to changes being made and greatly enhances the code review process.  Providing associated Issues that this resolves also easily connects the reason.

Change(s):

Updated syntax for XYZ.yaml

Reason for Change(s):

New schema used for XYZ.yaml
Resolves ISSUE #1234

Version updated:

Yes
Detections/Analytic Rule templates are required to have the version updated

The code should have been tested in a Microsoft Sentinel environment that does not have any custom parsers, functions or tables, so that you validate no incorrect syntax and execution functions properly.  If your submission requires a custom parser or function, it must be submitted with the PR.

Testing Completed:

Yes

Note: If updating a detection, you must update the version field.

Before the submission has been made, please look at running the KQL and Yaml Validation Checks locally.
https://github.com/Azure/Azure-Sentinel#run-kql-validation-locally

Checked that the validations are passing and have addressed any issues that are present:

Yes/No/Need Help

Note: Let us know if you have tried fixing the validation error and need help.

References:

Guidance for Detection checks
General contribution guidance
PR validation troubleshooting

Hi @praveenthepro, please look into below KQL validation error. Thanks

@v-atulyadav , Fixed the KQL error, Kindly please checkout

Thanks @praveenthepro.


Please make sure you can't create a bot in the root of the hard drive.

Describe the bug
Now that we have Bot Delete it is very important that we don't allow you to create a bot in the root because deleting the bot will delete your harddrive.
I made this mistake with software I shipped 20 years ago.  I want to make sure you don't make the same mistake.

We did not make this same mistake.