When using cron resource we get an error: "FATAL: Chef::Exceptions::ValidationFailed: command is a required property"

Create a cookbook with the cron resource with sensitive true.
Client execution will be erroring out with the message :
FATAL: Chef::Exceptions::ValidationFailed: command is a required property
Additional context
Tried with chef-infra-client version 17.7.22, where the cron resource-related fix was there. But still same behavior.

This is probably because the cron doesn't exist when they're running it so its appropriate for the command in the current_resource to be nil, but for the new_resource that needs to be required, so somehow we really need to be able to say that required properties in the current_resource (and the after_resource) are not actually required and should never throw.   This needs to not be addressed by a one-off fix that attempts to only fix this one property on this one resource but to make the whole collection of issues go away.

This means that the property needs to "know" if it is attached to a current/after resource or the new_resource which probably means threading some kind of state through (it may not be exactly which kind of resource it is attached to but a boolean flag to control required validations though).

(although the resource the property is attached to may already be threaded into the property and we might be able to hang a flag off of the resource)


Missing function to create attribute TagList (TC-DESC-2.1) (CON-1258)

Description
I was doing the test case TC-DESC-2.1 and I noticed I was missing the attribute TagList of the cluster Descriptor in the root node.
I proceded to try to add the attribute with the usual function create but it didn't exist, in the file esp_matter_attribute the only functions aviable to add attributes to the cluster Descriptor are these:

None of the function add the attribute TagList with the id TagList::Id that's defined in Attributes.h

Environment
ESP-IDF Commit Id: a322e6bdad4b6675d4597fb2722eea2851ba88cb (HEAD, tag: v5.2.1)
ESP-Matter Commit Id: https://github.com/espressif/esp-matter/commit/1a35c738dff33e5e988d92d0028ed7a60d4336f6 (HEAD -> release/v1.2, origin/release/v1.2)
connectedhomeip Commit Id: 46e1ad8478c55ec20273da9d40a9c6fecf5c6b38
SoC: ESP32-S3
Host Machine OS: Ubuntu 22.04.3 (WSL)

@FMistrorigo , the change is available on release/v1.3 here. We will backport it soon to release/v1.2.

@FMistrorigo, the Taglist feature is available on release/v1.2 now.


Version::parse and VersionReq::parse accept empty pre-release identifiers

The parse methods on Version and VersionReq both accept empty pre-release identifiers, such as in the version 1.2.3-.. I'd expect them both to return errors, but they don't:
Version::parse("1.2.3-.")
// Ok(Version { major: 1, minor: 2, patch: 3, pre: [AlphaNumeric(""), AlphaNumeric("")], build: [] })

VersionReq::parse("1.2.3-.")
// Ok(VersionReq { predicates: [Predicate { op: Compatible, major: 1, minor: Some(2), patch: Some(3), pre: [AlphaNumeric(""), AlphaNumeric("")] }] })

That is, the . is parsed as two empty AlphaNumeric identifiers.
Variations on this, such as 1.2.3-a., 1.2.3-.a, and 1.2.3-..., are also accepted.
This is contrary to the semver spec, which says that "Identifiers MUST NOT be empty".

Looks like this issue is fixed in this crate's dependency, semver-parser, @ 0.9.0.

This is fixed in 1.0.0.
fn main() {
    println!("{}", semver::Version::parse("1.2.3-.").unwrap_err());
    println!("{}", semver::VersionReq::parse("1.2.3-.").unwrap_err());
}

empty identifier segment in pre-release identifier
empty identifier segment in pre-release identifier


75 Show better error message in the console when unable to create the button

https://github.com/PayButton/paybutton/issues/75
renders the component
displays errors
disables button

The original flow with a missing "to" param was to not render anything and just have a console warning.
Now the button renders (disabled) and the erorr msg is shown in the component as well as the console.
Other errors can also be shown this way to make them more visible.
can't find the element ID of the div to create the button in:
I haven't tested this yet but can include it into this PR.

Yeah, include that.
It's supposed to also be able to handle garbage inputs. Anytime there's something that would throw an error (because of a bad input), it would let them know which parameter is messed up.

testing should be done by building and creating via HTML or JS.
storybook is clunky to force bad values.

I get this when I view it on localhost:10001 and remove the to field.

A few things seem to be broken... not sure what the deal is:

'Click to copy' isn't working for me.
Address validation isn't working for me: https://github.com/PayButton/paybutton/issues/18. If I enter bitcoincash:asqwefsadfsad, it still tries to use it.

Tested on http://localhost:10001/.


allow font cleaning and remapping for SVG output

Hello. We are using saveSvgAsPng to make charts and export them as SVG, so that they can be hand-edited in Illustrator. There is a terrible issue with some versions of Illustrator where it gives a cryptic error if you have a font declaration with either 1) more than one font or 2) a font that is not on your system or named incorrectly.
This change adds two options to the library:

cleanFontDefs, a boolean that if true will extract only the first font-family definition
fontFamilyRemap, an optional hash that remaps the font-family name of the extracted first definition.

I have added an example to index.html that downloads an SVG declared as Georgia, but when you open in illustrator, it is set to Arial. The use case for this is when CSS fonts are declared using CSS conventions like Khula-Light while local fonts may show up as Khula Light, or when you can't assume people will have a custom font installed locally so you may want to remap it to Arial or something.
Let me know what you think, if you're good with this I can add docs on these options. Thanks

This is a very specific need. To accomplish the fix you need, I would rather provide a general hook that allows modifying the CSS that gets added for each rule, somewhat like selectorRemap but for the entire rule. Then you could apply this rule transformation within your own application and this library could support other specific needs along the same lines.


Fix persist_docs for columns

follow up to #84, #170
Description
Although #170 implemented spark__alter_column_comment, we were missing the needed call to the persist_docs macro itself in needed materializations, since relation-level docs are handled within the create_x_as macro DDL.
So this PR:

Defined spark__persist_docs, to add column descriptions only
Adds a call to persist_docs to the table + seed materializations. It's already in the snapshot materialization, and views cannot persist columns descriptions.
Adds an integration test modeled off the one here. Key difference: column descriptions don't show up in show table extended in ... like '*', so instead of pulling from catalog.json, we have to run describe extended for each table we want to check.

Checklist

[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have updated the CHANGELOG.md and added information about my change to the "dbt next" section.

I forgot that Databricks SQL endpoints can't create parquet tables. I'll update when I get a chance tomorrow.

I'll cherry-pick to 0.20.latest after merging


Random EOF errors on OSX

I'm getting EOF errors on every run, sometimes on a call to within, other times on an to have_content call.
Here are my version numbers:
OSX: 10.11.3
Capybara: 2.5.0
capybara-webkit: 1.7.1
Qt: 5.5.0
WebKit: 538.1
QtWebKit: 5.5.0
Here is a gist of my full log, it's a pretty complex  test, sorry. https://gist.github.com/RobinClowers/2e81dff39b441d2b5a21

I got the same error.
OSX: 10.11.2
Capybara: 2.5.0
capybara-webkit: 1.7.1

For the record, I worked around this by blocking our intercom.io script. Not sure why that worked though.

We are also seeing EOFError: end of file reached on a very regular basis in CI (often multiple times a day) when setting a value on a field.  We would really like to resolve this asap because it keeps failing our test suite.
Please let me know what we can do to help debug this issue further.
Version info:
Driver version: Capybara: 2.7.1
capybara-webkit: 1.13.0
Qt: 5.5.1
WebKit: 538.1
QtWebKit: 5.5.1

The full capybara-webkit debug log is here: https://gist.github.com/tmertens/777fc15c6bf5973f69506e9c16d3a842
The failure is intermittent in CI and we have been unable to reproduce locally (with same versions of QT/Webkit/C, but when it does occur, it always fails on the same line when attempting to set a value on a field:
date_field.set("#{value}\n")

Here is the stack trace:
# ./vendor/bundle/ruby/2.2.0/gems/capybara-webkit-1.13.0/lib/capybara/webkit/connection.rb:41:in `read_nonblock'
# ./vendor/bundle/ruby/2.2.0/gems/capybara-webkit-1.13.0/lib/capybara/webkit/connection.rb:41:in `read'
# ./vendor/bundle/ruby/2.2.0/gems/capybara-webkit-1.13.0/lib/capybara/webkit/connection.rb:32:in `gets'
# ./vendor/bundle/ruby/2.2.0/gems/capybara-webkit-1.13.0/lib/capybara/webkit/browser.rb:315:in `check'
# ./vendor/bundle/ruby/2.2.0/gems/capybara-webkit-1.13.0/lib/capybara/webkit/browser.rb:221:in `command'
# ./vendor/bundle/ruby/2.2.0/gems/capybara-webkit-1.13.0/lib/capybara/webkit/node.rb:153:in `invoke'
# ./vendor/bundle/ruby/2.2.0/gems/capybara-webkit-1.13.0/lib/capybara/webkit/node.rb:47:in `set'
# ./vendor/bundle/ruby/2.2.0/gems/capybara-2.7.1/lib/capybara/node/element.rb:108:in `block in set'
# ./vendor/bundle/ruby/2.2.0/gems/capybara-2.7.1/lib/capybara/node/base.rb:85:in `synchronize'
# ./vendor/bundle/ruby/2.2.0/gems/capybara-2.7.1/lib/capybara/node/element.rb:104:in `set'
# ./spec/support/acceptance/site_prism/avantcredit/global/customer_dashboard/_date_with_calendar_section.rb:12:in `set'
# ./spec/support/acceptance/site_prism/avantcredit/global/customer_dashboard/_payment_form.rb:13:in `fill'
# ./spec/support/acceptance/site_prism/avantcredit/global/customer_dashboard/_fillable_and_submittable_page.rb:4:in `fill'
# ./spec/acceptance/global/customer_dashboard/add_payment_spec.rb:49:in `block (6 levels) in <top (required)>'
# ./vendor/bundle/ruby/2.2.0/gems/site_prism-2.9/lib/site_prism/loadable.rb:56:in `when_loaded'
# ./vendor/bundle/ruby/2.2.0/gems/site_prism-2.9/lib/site_prism/page.rb:34:in `load'
# ./spec/acceptance/global/customer_dashboard/add_payment_spec.rb:43:in `block (5 levels) in <top (required)>'
# ./vendor/bundle/ruby/2.2.0/gems/timecop-0.7.1/lib/timecop/timecop.rb:141:in `travel'
# ./vendor/bundle/ruby/2.2.0/gems/timecop-0.7.1/lib/timecop/timecop.rb:115:in `send_travel'
# ./vendor/bundle/ruby/2.2.0/gems/timecop-0.7.1/lib/timecop/timecop.rb:61:in `travel'
# ./spec/acceptance/global/customer_dashboard/add_payment_spec.rb:42:in `block (4 levels) in <top (required)>'
# ./spec/support/acceptance/config/capybara.rb:57:in `block (2 levels) in <top (required)>'
# ./spec/support/rails/config/database_cleaner.rb:18:in `block (3 levels) in <top (required)>'
# ./spec/support/rails/factory_girl_ext/caching/module_methods.rb:23:in `call'
# ./spec/support/rails/factory_girl_ext/caching/module_methods.rb:23:in `without_caching'
# ./spec/support/rails/config/database_cleaner.rb:17:in `block (2 levels) in <top (required)>'
# ./spec/spec_helper.rb:165:in `block (2 levels) in <top (required)>'
# ./spec/support/spec/helpers/time_machine.rb:80:in `run'
# ./spec/support/spec/config/timecop.rb:18:in `block (2 levels) in <top (required)>'
# ./spec/support/rails/locale_switcher/rspec.rb:17:in `block (2 levels) in <top (required)>'

You can see at the end of the log it starts Node.set but never completes it:
Received "Node.findCssWithin"
Started "Node.findCssWithin"
Finished "Node.findCssWithin" with response "Success(59)"
Wrote response true "59"
Received "Node.visible"
Started "Node.visible"
Finished "Node.visible" with response "Success(true)"
Wrote response true "true"
Received "Node.set"
Started "Node.set"

Any assistance with resolving this is greatly appreciated.

@tmertens What does your test look like?

@tmertens  Does the "\n" on the end of the value you're setting in the field happen to trigger a page change?

@twalpole sorry for the late response, I've been preoccupied with other things.  I'll check if "\n" triggers an actual page refresh, it is more likely a form submit that triggers some JS side validations and probably rewrites part of the DOM to display an error.  In the test, it is submitting the same form twice in a row, both times with invalid data.

@tmertens Ok - let me know - some of capybara-webkits commands are implemented via JS that is injected into the page, and can cause crashes/hangs if the page/injected JS disappears before the command concludes.

Closing due to lack of response.  If someone provides a way to reproduce this issue with the current master branch we can reopen.


System performance monitor

This PR adds perf counters which can track the total system latency from sensor sampling to controller output. This is untested and likely needs adjustments to measure the correct quantities.

This is to monitor #1604.

Applied via rebase.


Octavo is not available on crates.io

The README.md reads:
[dependencies]
octavo = "*"

However, octavo isn't on crates.io as of writing, so this doesn't work.

Published https://crates.io/crates/octavo.


clicking Launch after install complete " File System Error (12002) "

Windows Terminal version
Microsoft.WindowsTerminalPreview_1.12.2931.0_8wekyb3d8bbwe.msixbundle
Windows build number
10.0.19043.1348
Other Software
No response
Steps to reproduce
1-modify visuale studio community 2022 added .NET desktop development
2- restart VS update ML.NET Model Builder 2022
3- install Power Shell 7.2 via windows power shell using Winget " winget install --id Microsoft.Powershell --source winget "
4- download the windows Terminal Preview from assets by clicking on it.
5- after download right click the file select install, when finnished you get Launch i clicked it and nothing happend.
closed the installation window went back to browse internet and after some time the error window popped up.
so far no pc reboot yet...i rebooted pc at this stage and tried to launch windows Terminal i see it is installed but it refuses to RUN or bugged no clue.
Expected Behavior
after rebooting pc i expected that error be gone but no.
Actual Behavior

i opend cmd and typed wt hit enter

while trying to post this issue i stumpled upon wierd behavior, first my network activity as i noticed during installation that windows terminal require access to my bandwidth connection

.
second wierd behavior is when i browse my HDD folders when i open File explorer clicking on a Drive or A folder the mouse pointer turns to undless blue circle loop cant click anywhere in file explorer window  i lose control over it cant even move the window a round.
while everything else in windows normal i presume!!
someone posted last year same error but hence he didnt add anymore input about it you couldnt do much about it which is understandable..IF he only did i may not have been here posting it a year later, Thats why i will hang on to the steps i did so far waiting if you have any questions or steps i do on my end so we resolve this issue for the sake of everyone else for now and FUTURE.

zadjii-msft what feedback you want ?

12002 is ERROR_INTERNET_TIMEOUT. Is your machine connected to the internet? I'm guessing that the store is trying to validate the license for the Terminal package, and failing to do so, as described in #6010.
Can you install the Terminal from the Store directly? (not using the msixbundle)?
Can you run the Terminal unpackaged, following the steps in this comment?
#11176, #7351 are related.

(that was weird, I swear I posted that, glad the tab was still available in recently closed tabs 😅)

i cant install it via the web store nor anything else it opens store i click on get and install but i keep getting erros tickets .thats why used the winget  when i used it it asked for yes or no to store terms of transaction typed Y hit enter and installed power shell 7.2..and thats was the first time i manage to install anything from store.maybe it helps you understand .but your reply helped me understand what is going on " my issue is with the store as it seems "
alsoo no clue if it is related to store or windows terminal preview " but i manage to get access back to my file explorer once i disable the network adaptor " hope this helps too.
if thats the case you want me to uninstall windows terminal preview as it wont be of any use to me as long the STORE is controlling it ?i am here willing to help with what ever i can so we walk this issue to the limits for extra info sake . will be reading your links and try do what you asked me to do and get back to you with results.
Thank you for the speedy reply    On Tuesday, November 23, 2021, 11:27:48 PM GMT+3, Mike Griese @.***> wrote:
(that was weird, I swear I posted that, glad the tab was still available in recently closed tabs 😅 )
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

the way i installed windows terminal preview is valid as Store recognize it which adds more confusing STORE behaviour. really MR store whats your problem ?!?!?!?!

2 diffrent screenshots  is Terminal installed or ready for install ???  Clicking Launch from inside microsoft store same result nothing happens and after some time the same error msg appears.

"Windows Terminal" and "Windows Terminal Preview" are two separate apps in the store. They're each slightly different versions of the Terminal. Everything in here makes me think this is #6010. You hadn't connected to the internet yet, so the OS couldn't validate the signature of the msix when you installed it. Now that you have connected to the internet, the Store can complete the lookup, and knows that the certificate is good, and will let you launch it. The msixbundle you get from the GitHub releases page is the same thing you install from the Store - same signing, same ID, everything, but the OS still needs to make sure it's legit (since it's signed with a Microsoft cert).

Thats the confusing part... i understand all what you said but all i did was while direct connection to internet .
the store is connecting to internet EXCEPT this " completing the lookup " which is not happening .
i have the most stupid ISP, i tried vpn and clicked Launch from microsoft store AND IT LAUNCHED.
why a direct connection  to microsoft store be considerd PORN policy by my ISP that needs to be partially blocked either block it entirly so i can know or whitelist it. imagin the turn of events as all this trouble coz of ISP Throttling.
Thank you Mike been alot of help i dont imagin i would think of using vpn for such thing which really un related issue and should be a problem cause not a problem solver, IF you warent involving with me in this conversation MANY THANKS.


kprobe pattern matching returns "Invalid argument" for some probes

Kernel: 5.3.11-200.fc30.x86_64
OS: Fedora 30
bpftrace v0.9.2
If I look for all probes using the '*pmem*' search pattern, I get 43 hits:
# bpftrace -l 'kprobe:*pmem*' | wc -l
43

When enabling these 43 probes using the following I get errors with 33 them:
# bpftrace -e 'kprobe:*pmem* { @[func] = count(); }'
Attaching 43 probes...
cannot attach kprobe, Invalid argument
Warning: could not attach probe kprobe:write_pmem [nd_pmem], skipping.
cannot attach kprobe, Invalid argument
Warning: could not attach probe kprobe:release_free_pmem [libnvdimm], skipping.
cannot attach kprobe, Invalid argument
Warning: could not attach probe kprobe:pmem_should_map_pages [libnvdimm], skipping.
cannot attach kprobe, Invalid argument
Warning: could not attach probe kprobe:pmem_sector_size [libnvdimm], skipping.
cannot attach kprobe, Invalid argument
Warning: could not attach probe kprobe:pmem_rw_page [nd_pmem], skipping.
cannot attach kprobe, Invalid argument
Warning: could not attach probe kprobe:pmem_release_queue [nd_pmem], skipping.
cannot attach kprobe, Invalid argument
Warning: could not attach probe kprobe:pmem_release_disk [nd_pmem], skipping.
[...snip...]

However, if I fully qualify the probes, it works, eg:
# bpftrace -e 'kprobe:write_pmem, kprobe:release_free_pmem { @[func] = count(); }'
Attaching 2 probes...

It's unclear why the glob pattern matching fails, but the fully qualified approach works.  This issue doesn't appear to be specific to the *pmem* pattern/modules as I see the same behaviour with other search patterns such as *dax* and *vfs* for example.
The symptom is similar to #68 except the example provided works on my environment.

Looks like its adding the module name ([nd_pmem]) in the glob. I'm pretty sure I've seen this in a different bug but cannot find it now.

Thanks @fbs
Using crash, the probes giving me "Invalid argument" do include the module name vs the working probes that do not, eg:
// Failing symbols/probes
crash> sym write_pmem
ffffffffc03cb110 (^B) write_pmem [nd_pmem]
crash> sym is_nd_pmem
ffffffffc03f0a00 (^R) is_nd_pmem [libnvdimm]
crash> sym is_nd_pmem
ffffffffc03f0a00 (^R) is_nd_pmem [libnvdimm]
crash> sym pmem_release_disk

// Working symbols/probes
crash> sym vfs_read
ffffffff8d2fc1f0 (T) vfs_read /usr/src/debug/kernel-5.3.fc30/linux-5.3.18-200.fc30.x86_64/fs/read_write.c: 447
crash> sym pci_free_p2pmem
ffffffff8d54d4c0 (T) pci_free_p2pmem /usr/src/debug/kernel-5.3.fc30/linux-5.3.18-200.fc30.x86_64/drivers/pci/p2pdma.c: 606

I found the BPFtrace::find_wildcard_matches method in bpftrace.cpp:
std::set<std::string> BPFtrace::find_wildcard_matches(
    const ast::AttachPoint &attach_point) const
{
  std::unique_ptr<std::istream> symbol_stream;
  std::string prefix, func;

  switch (probetype(attach_point.provider))
  {
    case ProbeType::kprobe:
    case ProbeType::kretprobe:
    {
      symbol_stream = get_symbols_from_file(
          "/sys/kernel/debug/tracing/available_filter_functions");
      prefix = "";
      func = attach_point.func;
      break;
    }
[...snip...]

Looking for my *pmem* pattern within available_filter_functions also lists the module name, so this appears to be where it's coming from:
# grep -i pmem available_filter_functions
arch_invalidate_pmem
pci_has_p2pmem
pci_p2pmem_publish
pci_alloc_p2pmem
pci_p2pmem_virt_to_bus
pci_p2pmem_alloc_sgl
pci_p2pmem_find_many
pci_free_p2pmem
pci_p2pmem_free_sgl
arch_wb_cache_pmem
nd_pmem_forget_poison_check [libnvdimm]
nd_pmem_max_contiguous_dpa [libnvdimm]
nd_pmem_available_dpa [libnvdimm]
nvdimm_pmem_region_create [libnvdimm]
is_nd_pmem [libnvdimm]
namespace_pmem_release [libnvdimm]
pmem_sector_size [libnvdimm]
nd_namespace_pmem_set_resource [libnvdimm]
pmem_should_map_pages [libnvdimm]
__reserve_free_pmem [libnvdimm]
release_free_pmem [libnvdimm]
__pmem_label_update [libnvdimm]
nd_pmem_namespace_label_update [libnvdimm]
nd_pmem_shutdown [nd_pmem]
nd_pmem_remove [nd_pmem]
pmem_release_disk [nd_pmem]
pmem_copy_to_iter [nd_pmem]
pmem_copy_from_iter [nd_pmem]
write_pmem [nd_pmem]
pmem_pagemap_cleanup [nd_pmem]
pmem_release_queue [nd_pmem]
pmem_pagemap_kill [nd_pmem]
pmem_pagemap_page_free [nd_pmem]
pmem_attach_disk [nd_pmem]
nd_pmem_probe [nd_pmem]
nd_pmem_notify [nd_pmem]
pmem_do_bvec [nd_pmem]
pmem_make_request [nd_pmem]
pmem_rw_page [nd_pmem]
__pmem_direct_access [nd_pmem]
pmem_dax_direct_access [nd_pmem]
__dax_pmem_probe [dax_pmem_core]
dax_pmem_probe [dax_pmem]

I found over 10,000 functions in the available_filter_functions file that also include the [module].  bpftrace gives me the same issue "Invalid argument" issue when using any of these:
# egrep '\[.+\]' available_filter_functions | wc -l
10847

The problem seems to be in the following method where it's not able to understand the module name:
/*
 * Finds all matches of func in the provided input stream.
 *
 * If an optional prefix is provided, lines must start with it to count as a
 * match, but the prefix is stripped from entries in the result set.
 * Wildcard tokens ("*") are accepted in func.
 */
std::set<std::string> BPFtrace::find_wildcard_matches(
    const std::string &prefix,
    const std::string &func,
    std::istream &symbol_stream) const
{
  if (!has_wildcard(func))
    return std::set<std::string>({func});
  bool start_wildcard = func[0] == '*';
  bool end_wildcard = func[func.length() - 1] == '*';

  std::vector<std::string> tokens = split_string(func, '*');
  tokens.erase(std::remove(tokens.begin(), tokens.end(), ""), tokens.end());

  std::string line;
  std::set<std::string> matches;
  std::string full_prefix = prefix.empty() ? "" : (prefix + ":");
  while (std::getline(symbol_stream, line))
  {
    if (!full_prefix.empty()) {
      if (line.find(full_prefix, 0) != 0)
        continue;
      line = line.substr(full_prefix.length());
    }

    if (!wildcard_match(line, tokens, start_wildcard, end_wildcard))
      continue;

    // skip the ".part.N" kprobe variants, as they can't be traced:
    if (line.find(".part.") != std::string::npos)
      continue;

    matches.insert(line);
  }
  return matches;
}

It seems similar to #524 in as much that if the module is available and extracted, we can use it as an additional filter like we can with DTrace.  As a shorter-term solution, perhaps just dropping the module information would allow the pattern matching to work as expected?

Hitting this also on CentOS 8, kernel 5.7.6-1.el8.elrepo.x86_64 when enabling for "kprobe:nvme*":
[root@rs-centos8-bpf ~]# bpftrace -e 'kprobe:nvme* { @[func] = count() } '
Attaching 229 probes...
cannot attach kprobe, Invalid argument
Warning: could not attach probe kprobe:nvme_wait_reset [nvme_core], skipping.
cannot attach kprobe, Invalid argument
Warning: could not attach probe kprobe:nvme_wait_ready [nvme_core], skipping.
cannot attach kprobe, Invalid argument
Warning: could not attach probe kprobe:nvme_wait_freeze_timeout [nvme_core], skipping.
...

@rob-scheepens @sscargal , do you have any thoughts on wildcard rules I outlined in https://github.com/iovisor/bpftrace/pull/1413#issuecomment-655638504 ? Wondering what would be better for users.


[Event Request] - OnAfterPostJobContractLine in Codeunit 80 "Sales-Post"

Hello, please consider adding the following event to Codeunit 80 "Sales-Post"
    [IntegrationEvent(false, false)]
    local procedure OnAfterPostJobContractLine(SalesInvHeader: Record "Sales Invoice Header"; SalesCrMemoHeader: Record "Sales Cr.Memo Header"; SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line")
    begin
    end;

and call it accordingly inside the "UpdateSalesLineBeforePost" procedure:
    local procedure UpdateSalesLineBeforePost(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line")
    var
        IsHandled: Boolean;
    begin
        OnBeforeUpdateSalesLineBeforePost(SalesLine, SalesHeader, WhseShip, WhseReceive, RoundingLineInserted, SuppressCommit);

        with SalesLine do begin
            if not (SalesHeader.Ship or RoundingLineInserted) then begin
                "Qty. to Ship" := 0;
                "Qty. to Ship (Base)" := 0;
            end;
            if not (SalesHeader.Receive or RoundingLineInserted) then begin
                "Return Qty. to Receive" := 0;
                "Return Qty. to Receive (Base)" := 0;
            end;

            JobContractLine := false;
            if (Type = Type::Item) or (Type = Type::"G/L Account") or (Type = Type::" ") then
                if "Job Contract Entry No." > 0 then
                    PostJobContractLine(SalesHeader, SalesLine);

            **OnAfterPostJobContractLine(SalesInvHeader, SalesCrMemoHeader, SalesHeader, SalesLine);**

            if Type = Type::Resource then
                JobTaskSalesLine := SalesLine;

            if (SalesHeader."Document Type" = SalesHeader."Document Type"::Invoice) and ("Shipment No." <> '') then begin
                "Quantity Shipped" := Quantity;
                "Qty. Shipped (Base)" := "Quantity (Base)";
                "Qty. to Ship" := 0;
                "Qty. to Ship (Base)" := 0;
            end;
...
...

Thank you !

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 52435.


Fix import of almost-equal

fixes: https://github.com/iTwin/itwinjs-core/issues/7126
We include a package named "almost-equal" using this syntax:
import * as almostEqual from "almost-equal";
This results in an error "almost-equal is not a function" because the module exports its function by using the CommonJS syntax
module.exports = almostEqual
which results in us importing the entire module as an object rather than the function itself.
possible fixes are either doing
import almostEqual = require("almost-equal");
Which doesn't work as we have our module resolution strategy set to target ECMAScript modules which prevents this syntax.
The other alternative is
import almostEqual from "almost-equal";
Which I also am not allowed to do because that would require esModuleInterop and allowSyntheticDefaultImports to be enabled in tsconfig.jsonwhich we explicitly disallow.
After some discussion in the itwin team we decided to drop the dependency and just put a method directly into the code as it is very trivial.

Never mind, I am not allowed to use that syntax because our module resolution strategy is set to target ECMAScript modules. I cannot use the other syntax either because our tsconfig.json sets esModuleInterop to false, which would be needed for this.
So I guess there is no way we are allowed to use this module...
Looking for an alternative solution

This is more complex than I imagined. The native almost_equal method uses a tolerance value which defaults to 1000, while the almost_equal package uses an absolute and relativeError which both default to 2.2204460492503131e-16.
I just literally took Arun's generated method, but turns out with that many tests fail because they seem to have relied on the relativeError mechanism.
There is a chai-almost package which defaults to a tolerance of 1e-6 , but that also just calcilates the absolute difference and compares it.
It seems like there is no standard of what "almost" means. I'll think about it a bit and put something out for review tomorrow.


fix-lambda-function-name-null

Solution is to  address a bug in the Terraform lambda component where null values for var.function_name break the formatting of local.cicd_s3_key_format. The bug causes issues when no function name is provided, which should default to using module.label.id instead.
https://github.com/sm-core/infrastructure/pull/1115

ah this was already merged with #970 last week
https://github.com/cloudposse/terraform-aws-components/blob/main/modules/lambda/main.tf#L7-L9


Handle mouse and touch events

ScratchJr cannot be used on a Chromebook that does not have a touchscreen. If the app thinks it's running on a 'tablet', as it does on ChromeOS, it only handles touch events. This also means that mouse events are ignored on Chromebooks and you must use the touchscreen.
We use the deprecated window.orientation to determine whether it's running on a tablet:
https://github.com/LLK/scratchjr/blob/3dba10580b4fc755dd9f28cc394a1351c7a81a00/src/utils/lib.js#L2-L4
Mostly this is used to handle mouse events if it's not a tablet. Since many chromebooks can run android apps, and have touchscreens we should be handling both better.

 High impact ScratchJr bugfixes


[PE-D][Tester B] bug: alphanumeric student name permitted in command

Description

Typically, a normal person's name should only contain alphabets. Currently, TutorTrack permits name to be alphanumeric.

Steps to reproduce

Run add n/John Poe 1 p/84920491<EMAIL_ADDRESS>a/RVRC s/Physics

Expected

Reject user command

Actual

Person with alphanumeric name is created

Screenshots

Remarks

Note that this issue is based on release v1.3 as v1.3.1 cannot launch on my system. The issues found is based on v1.3 release as instructed by prof

Labels: type.FeatureFlaw severity.Low
original: ForAeons/ped#13

specify names can be alphanumeric in UG


Management rules driver health check should support degraded state

We should add different timeout from management for "unhealthy" and "degraded".
Our current configuration is if there wasn't any successful connection to management for 5 minutes or there's no loaded keyset definition return unhealthy, otherwise return healthy.
Suggested change:
If there's no loaded keyset definition at all use "unhealthy". (maybe with a support for bootstrap time if needed)
If there's no connection with management for 5 minutes use "degraded".
If there's no connection with management for 60 minutes use "unhealthy".
All time policies should be configurable.

Closing it for now as we moving forward with Minio


Wrongfully banned

hey,
I just got banned for using the schematica mod... it is a mod which allows you to see some schematics in order to rebuild them.
Its no hackclient or anything else. Please see for yourself.
If this mod is forbidden, I am sorry, I will deinstall it.
Kinds regards
Twinblader

We can clearly see all of your mods when you join our server. The hack client "Forgewurst" is clearly listed when you join.

Closing due to over a week with no reply.


The future belongs to a different loop than the one specified as the loop argument

I have been having this issue on google colab for a while now...
[-] ADetailer initialized. version: 24.5.1, num models: 10
ControlNet preprocessor location: /content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/downloads
2024-06-23 06:12:44,333 - ControlNet - INFO - ControlNet v1.1.449
Loading weights [059934ff58] from /content/gdrive/MyDrive/data/Checkpoint/SDXL/ponyRealism_v21VAE.safetensors
2024-06-23 06:13:25,823 - ControlNet - INFO - ControlNet UI callback registered.
Civitai Helper: Settings:
Civitai Helper: max_size_preview: True
Civitai Helper: skip_nsfw_preview: False
Civitai Helper: open_url_with_js: True
Civitai Helper: proxy:
Civitai Helper: use civitai api key: True
*** Failed reading extension data from Git repository (sd-webui-controlnet)
Traceback (most recent call last):
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/extensions.py", line 166, in do_read_info_from_repo
commit = repo.head.commit
File "/usr/local/lib/python3.10/dist-packages/git/refs/symbolic.py", line 217, in _get_commit
obj = self._get_object()
File "/usr/local/lib/python3.10/dist-packages/git/refs/symbolic.py", line 210, in _get_object
return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
File "/usr/local/lib/python3.10/dist-packages/git/objects/base.py", line 85, in new_from_sha
oinfo = repo.odb.info(sha1)
File "/usr/local/lib/python3.10/dist-packages/git/db.py", line 43, in info
hexsha, typename, size = self._git.get_object_header(bin_to_hex(binsha))
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/gitpython_hack.py", line 18, in get_object_header
ret = subprocess.check_output(
File "/usr/lib/python3.10/subprocess.py", line 421, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.10/subprocess.py", line 505, in run
stdout, stderr = process.communicate(input, timeout=timeout)
File "/usr/lib/python3.10/subprocess.py", line 1154, in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
File "/usr/lib/python3.10/subprocess.py", line 2022, in _communicate
self._check_timeout(endtime, orig_timeout, stdout, stderr)
File "/usr/lib/python3.10/subprocess.py", line 1198, in _check_timeout
raise TimeoutExpired(
subprocess.TimeoutExpired: Command '['git', 'cat-file', '--batch-check']' timed out after 2 seconds

Running on public URL: https://5a152c8651bfc6e94b.gradio.live/
✔ Connected
Startup time: 194.8s (import torch: 14.2s, import gradio: 1.2s, setup paths: 2.2s, initialize shared: 0.5s, other imports: 2.9s, list SD models: 24.5s, load scripts: 57.7s, load upscalers: 1.1s, reload hypernetworks: 1.0s, initialize extra networks: 15.0s, scripts before_ui_callback: 2.7s, create ui: 47.9s, gradio launch: 17.2s, add APIs: 6.5s).
Creating model from config: /content/gdrive/MyDrive/sd/stablediffusion/generative-models/configs/inference/sd_xl_base.yaml
Couldn't find VAE named sdxl_vae.safetensors; using None instead
Applying attention optimization: xformers... done.
Model loaded in 174.4s (load weights from disk: 99.3s, load config: 0.5s, create model: 4.7s, apply weights to model: 53.6s, move model to device: 0.1s, hijack: 0.4s, load textual inversion embeddings: 14.6s, calculate empty prompt: 1.2s).
The future belongs to a different loop than the one specified as the loop argument
The future belongs to a different loop than the one specified as the loop argument
The future belongs to a different loop than the one specified as the loop argument
The future belongs to a different loop than the one specified as the loop argument
The future belongs to a different loop than the one specified as the loop argument

Just restart the WebUI interface, it happens to me too sometime

Just restart the WebUI interface, it happens to me too sometime

This might be a dumb question, but how exactly do I restart the Webui interface? Do I just refresh the page?

if its ran locally you would exit out of the command prompt running the repo. in my case im on a google colab notebook and have to select edit, restart and run all.

if its ran locally you would exit out of the command prompt running the repo. in my case im on a google colab notebook and have to select edit, restart and run all.

thank you a lot, the problem fixed


[Q]  How To Test This App

Topic:

Question:
I am interested in contributing to this project, if that's ok. I have replicated it to my local machine. But how do I create an admin account? I used the login page to create an account but it requires another account to grant me access. How do I move from there to explore the different parts of the application?

Hi @Lukada-taiya,
If you are running with the datastore emulator in the admin site, the account<EMAIL_ADDRESS>is an admin when you login with that account.   You can use that to approve your newly created account.
If you want to add the admin custom claim to the account in the authentication emulator, once it is running, go to http://localhost:4000/ then click on go to auth emulator

Click on the three dots for the user you want to edit, and click edit user

Then, in the custom claims add admin: true

Separately, you are running with the cloud firestore, there is a script to add the custom claim, because it cannot be added in the console.  It is in the web/functions/scripts/ directory, named setadmin.js.  There are instructions in the readme there on how to run that script.


Upgrade to Latest Libraries (e.g. BytesLib.sol)

(affects #11)
The libraries in use should be updated to the latest versions, starting with BytesLib.sol

moved to #20


Terms of Service update

When Abbott updates the ToS, it is not possible to log in.
Handle this somehow, error message, or something.

Added warning message with instructions for accepting ToU.
I think it is better to officially accept the ToU, rather than doing that silently...


Fix: phantom tic-tac-toe and dark hex information state when obs type is reveal nothing

Fixes #1273 and #1274.
The info state size for pttt and dh is now smaller when the obs type is reveal-nothing. In this case, instead of storing at most 17 moves of 11 bits each, we only store at most 9 moves (no opponent moves) of 9 bits each (removed info about the player and the "unknown" move).

Thanks! 👍
Can you regenerate the playthroughs and add them too? Otherwise the tests will fail.
You can use this script: https://github.com/google-deepmind/open_spiel/blob/master/open_spiel/scripts/regenerate_playthroughs.sh

There we go :) Tests run successfully locally for me.


Add flag to disable discovery svc event collection

Description
Related to https://github.com/konveyor/mig-controller/pull/1084

/test operator-e2e

/test operator-e2e

INFO[2021-05-21T19:01:33Z] FAILED - RETRYING: Wait 240s for reconciliation to run (1 retries left).
INFO[2021-05-21T19:01:33Z] fatal: [localhost]: FAILED! => {"api_found": true, "attempts": 24, "changed": false, "resources": [{"apiVersion": "migration.openshift.io/v1alpha1", "kind": "MigrationController", "metadata": {"creationTimestamp": "2021-05-21T18:56:51Z", "generation": 2, "managedFields": [{"apiVersion": "migration.openshift.io/v1alpha1", "fieldsType": "FieldsV1", "fieldsV1": {"f:spec": {".": {}, "f:cluster_name": {}, "f:infrastructures": {".": {}, "f:resources": {}}, "f:mig_ui_cluster_api_endpoint": {}, "f:migration_controller": {}, "f:migration_log_reader": {}, "f:migration_ui": {}, "f:migration_velero": {}, "f:olm_managed": {}, "f:version": {}}, "f:status": {".": {}, "f:phase": {}}}, "manager": "OpenAPI-Generator", "operation": "Update", "time": "2021-05-21T18:57:01Z"}], "name": "example-migrationcontroller", "namespace": "openshift-migration", "resourceVersion": "29384", "selfLink": "/apis/migration.openshift.io/v1alpha1/namespaces/openshift-migration/migrationcontrollers/example-migrationcontroller", "uid": "b81c13a8-b58c-4657-bde5-37851ebb8c00"}, "spec": {"cluster_name": "host", "infrastructures": {"resources": ["whatever"]}, "mig_ui_cluster_api_endpoint": "https://nowhere.localhost:8443/api", "migration_controller": true, "migration_log_reader": true, "migration_ui": false, "migration_velero": true, "olm_managed": true, "version": "1.0 (OLM)"}, "status": {"phase": "Failed"}}]}
INFO[2021-05-21T19:01:33Z]

Is this a flake? looks like the test is failing for some reason consistently.

guys if you need help in navigating the CI, ping me on slack!

/test operator-e2e

@alaypatel07 looks like flakes. 2 out of 4 PRs just failed. I'm rerunning again.
Is this typical for e2e test? They take a rather long time to fail to be putting up with this....

@jmontleon for this specific PR https://prow.ci.openshift.org/pr-history/?org=konveyor&repo=mig-operator&pr=673 it has failed in all runs.  not sure if we got unlucky thrice.

Is this typical for e2e test? They take a rather long time to fail to be putting up with this....

yes, it does take a little longer, but if the PR gets an approved label, it will keep re-running the tests until it passes.

testing the labels
/hold

/test operator-e2e

/test operator-e2e

@alaypatel07 poking earlier it looked like the reconcile wasn't finishing in 240 seconds which seems slow, but if the environment it's running in is bogged down maybe it tends to take more. we can try doubling it; else there is something really long, but I would have expected the travis/gh action test to fail in that case.

/test operator-e2e

/test operator-e2e

digging into the last failure, I found it to be failing on template error
--------------------------- Ansible Task StdOut -------------------------------

 TASK [Set up mig controller] ********************************
fatal: [localhost]: FAILED! => {"msg": "An unhandled exception occurred while running the lookup plugin 'template'. Error was a <class 'ansible.errors.AnsibleError'>, original message: template error while templating string: no test named 'false'. String: ---\napiVersion: v1\nkind: Service\nmetadata:\n  labels:\n    control-plane: controller-manager\n    controller-tools.k8s.io: \"1.0\"\n  name: controller-manager-service\n  namespace: {{ mig_namespace }}\nspec:\n  ports:\n  - port: 443\n  selector:\n    control-plane: controller-manager\n    controller-tools.k8s.io: \"1.0\"\n---\n{% if lookup('k8s', cluster_info='version').kubernetes.minor|replace('+', '')|int < 9 %}\napiVersion: apps/v1beta1\n{% else %}\napiVersion: apps/v1\n{% endif %}\nkind: Deployment\nmetadata:\n  labels:\n    app: migration\n    control-plane: controller-manager\n    controller-tools.k8s.io: \"1.0\"\n    app.kubernetes.io/part-of: openshift-migration\n{% if jaeger_enabled|bool %}\n  annotations:\n    sidecar.jaegertracing.io/inject: \"true\"\n{% endif %}\n  name: migration-controller\n  namespace: {{ mig_namespace }}\nspec:\n  selector:\n    matchLabels:\n      app: migration\n      control-plane: controller-manager\n      controller-tools.k8s.io: \"1.0\"\n  serviceName: controller-manager-service\n  template:\n    metadata:\n      labels:\n        app: migration\n        control-plane: controller-manager\n        app.kubernetes.io/part-of: openshift-migration\n        controller-tools.k8s.io: \"1.0\"\n        controller_config_name: {{ controller_config_configmap.env | k8s_config_resource_name }}\n        cluster_config_name: {{ cluster_config_configmap.env | k8s_config_resource_name }}\n        webhook_secret_name: {{ webhook_secret.env | k8s_config_resource_name }}\n    spec:\n      serviceAccountName: migration-controller\n      containers:\n      - command:\n        - /manager\n        env:\n        - name: EXCLUDED_RESOURCES\n          value: {{ all_excluded_resources | join(',') }}\n{% if mig_pv_move_storageclasses|length >0 %}\n        - name: PV_MOVE_STORAGECLASSES\n          value: {{ mig_pv_move_storageclasses | join(',') }}\n{% endif %}\n        - name: POD_NAMESPACE\n          valueFrom:\n            fieldRef:\n              fieldPath: metadata.namespace\n        - name: ROLE\n          value: mtc\n        - name: SECRET_NAME\n          value: webhook-server-secret\n        - name: MIGRATION_REGISTRY_IMAGE\n          value: {{ migration_registry_image_fqin }}\n{% if http_proxy|length >0 %}\n        - name: HTTP_PROXY\n          value: {{ http_proxy }}\n{% endif %}\n{% if https_proxy|length >0 %}\n        - name: HTTPS_PROXY\n          value: {{ https_proxy }}\n{% endif %}\n{% if no_proxy|length >0 %}\n        - name: NO_PROXY\n          value: {{ no_proxy }}\n{% endif %}\n        envFrom:\n        - configMapRef:\n            name: migration-controller\n        image: {{ mig_controller_image_fqin }}\n        imagePullPolicy: \"{{ image_pull_policy }}\"\n        name: mtc\n        ports:\n        - containerPort: 9876\n          name: webhook-server\n          protocol: TCP\n        resources:\n          limits:\n            cpu: {{ mig_controller_limits_cpu }}\n            memory: {{ mig_controller_limits_memory }}\n          requests:\n            cpu: {{ mig_controller_requests_cpu }}\n            memory: {{ mig_controller_requests_memory }}\n        volumeMounts:\n        - mountPath: /tmp/cert\n          name: cert\n          readOnly: true\n      - command:\n        - /manager\n        env:\n        - name: POD_NAMESPACE\n          valueFrom:\n            fieldRef:\n              fieldPath: metadata.namespace\n        - name: ROLE\n          value: discovery\n{% if discovery_collect_events|bool is false %}\n        - name: DISCOVERY_COLLECT_EVENTS\n          value: \"false\"\n{% endif %}\n        - name: SECRET_NAME\n          value: webhook-server-secret\n{% if http_proxy|length >0 %}\n        - name: HTTP_PROXY\n          value: {{ http_proxy }}\n{% endif %}\n{% if https_proxy|length >0 %}\n        - name: HTTPS_PROXY\n          value: {{ https_proxy }}\n{% endif %}\n{% if no_proxy|length >0 %}\n        - name: NO_PROXY\n          value: {{ no_proxy }}\n{% endif %}\n        envFrom:\n        - configMapRef:\n            name: migration-controller\n        image: {{ mig_controller_image_fqin }}\n        imagePullPolicy: \"{{ image_pull_policy }}\"\n        name: discovery\n        ports:\n        - name: api\n          containerPort: 8080\n          name: webhook-server\n          protocol: TCP\n        resources:\n          limits:\n            cpu: {{ mig_controller_limits_cpu }}\n            memory: {{ mig_controller_limits_memory }}\n          requests:\n            cpu: {{ mig_controller_requests_cpu }}\n            memory: {{ mig_controller_requests_memory }}\n        volumeMounts:\n        - mountPath: {{ discovery_volume_path }}\n          name: discovery\n      terminationGracePeriodSeconds: 10\n      volumes:\n      - name: cert\n        secret:\n          defaultMode: 420\n          secretName: webhook-server-secret\n      - name: discovery\n        emptyDir: {}\n"}

mig-operator pod logs https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/origin-ci-test/pr-logs/pull/konveyor_mig-operator/673/pull-ci-konveyor-mig-operator-master-operator-e2e/1395912682573402112/artifacts/operator-e2e/gather-extra/artifacts/pods/openshift-migration_migration-operator-5c755bfb94-p24zr_operator.log

@jmontleon given the above I wonder if increasing the timeout will solve this.

@alaypatel07 ah so it's a bug in my PR? I thought I fixed that. I just increased the timeout, running once more.

/test operator-e2e

/retest

/test images

/test images

/retest

/test operator-e2e

/test operator-e2e


Modify the production Jenkins job to depend on the master branch.

Currently, we have a dedicated release branch for deployment to production. To have full CD (#338), we need to deploy from the master branch.

We don't need this anymore, because we built a Jenkins pipeline in #338 that describes the build steps in a Jenkinsfile in a pipeline that deploy to both dev and prod based on the master branch.


Terraform buildout of server infrastructure

We could make it easier to provision the server, database, and anything related by using Terraform to automatically provision the infrastructure in question. Automatically configure all of the environment variables in Heroku, provision the database collections in Atlas, etc.

MongoDB Atlas does not allow for API creation/modification of M0 clusters, which are the free-tier that we use inside of our budget. Cloudinary also does not have a Terraform provider. If we move away from our current PaaS suite then this may be picked up again, but for now it's impossible.


sat.d.ts

Your project is great! But it will be much better if you can provide a sat.d.ts file, which i can use in my Typescript project.

It seems like http://definitelytyped.org/ (https://github.com/borisyankov/DefinitelyTyped) would be a better place for a sat.d.ts. Unfortunately I don't use Typescript and so do not know enough to create the definition myself.
I'm sure a Pull Request to DefinitelyTyped would be accepted though!


Clock signals routed through INT tiles

As explained in this comment, VPR is able to route clock signals through INT tiles, violating the clock regions boundaries. This can result in non-working bitstreams, as well as an impossibility for Vivado to correctly place and route the designs produced with fasm2bels.
Failure example of Vivado (got from https://source.cloud.google.com/results/invocations/ab9206f5-759f-4c0f-adec-69dc24e943e1/targets/foss-fpga-tools%2Fsymbiflow-arch-defs%2Fpresubmit%2Fxc7_vendor/log):
ERROR: [Place 30-123] Unroutable Placement! A BUFHCE / MMCM component pair is not placed in a routable site pair. The BUFHCE component can use the dedicated path between the BUFHCE and the MMCM if both are placed in the same clock region. If this sub optimal condition is acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE constraint in the .xdc file to demote this message to a WARNING. However, the use of this override is highly discouraged. These examples can be used directly in the .xdc file to override this clock rule.
	< set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets CLK_HROW_TOP_R_X60Y78_BUFHCE_X0Y21_O] >

	CLK_HROW_TOP_R_X60Y78_BUFHCE_X0Y21_BUFHCE (BUFHCE.O) is locked to BUFHCE_X0Y21
	CLK_BUFG_BOT_R_X60Y48_BUFGCTRL_X0Y1_BUFGCTRL (BUFGCTRL.I0) is locked to BUFGCTRL_X0Y1

	The above error could possibly be related to other connected instances. Following is a list of
	all the related clock rules and their respective instances.

	Clock Rule: rule_bufh_bufr_ramb
	Status: PASS
	Rule Description: Reginal buffers in the same clock region must drive a total number of brams less
	than the capacity of the region
	CLK_HROW_TOP_R_X60Y78_BUFHCE_X0Y22_BUFHCE (BUFHCE.O) is locked to BUFHCE_X0Y22
...

This happens because some clocks traverse the clock regions through the INT tiles, instead of using the dedicated clock net.
Another behavior I have seen is that the clock source driven from the W5 IOPAD is not being routed through the HCLK row, but reaches the BUFG through a series of jumps between INT tiles as well.

VPR has a two phase router that is an open PR here: https://github.com/verilog-to-routing/vtr-verilog-to-routing/pull/928

I've encountered the same problem with PLL. I think that it may be a good idea to add to fasm2bels setting the `CLOCK_DEDICATED_ROUTE' to FALSE on those nets somehow. Won't solve the routing problem but will ease debugging.

The PLL has a simplier explain, in that it was missing some BUFG instances, see: https://github.com/SymbiFlow/symbiflow-arch-defs/pull/1154/commits/5852cd2e21e9f11423e8637f828d8596fd45ccba
One thing to note is that right now BUFG must be instanced explicitly.  Vivado has implicit BUFG placement enabled, but we have it disabled for now.

@litghost Two stage clock routing has been merged

I could reproduce locally the issues related to the Vendor Tool Tests CI failure. The test though is the DDR litex one.

In the figure above, the highlighted wire (white) is the output of the BUFHCE_X1Y20.
The horizontal purple line, instead, divides the fabric in two clock regions. We can see that the highlighted clock is illegally crossing the clock region through the INT tiles, resulting in the error listed below:
ERROR: [Place 30-176] Unroutable Placement! The following clock source instance is driving the following locked load instances. The clock source instance is placed too far away from its load instance to be routable.
        CLK_HROW_TOP_R_X60Y78_BUFHCE_X1Y20_BUFHCE (BUFHCE.O) is locked to BUFHCE_X1Y20
        The loads are distributed to 1 user pblock constraints. In addition, there are 20 loads not in user pblock constraints.

        Displaying only the first 20 or fewer instances under each constraint as list of loads is too long

        Displaying first 20 loads not in user pblock constraint:
        $auto$simplemap.cc:442:simplemap_dffe$22079CLBLM_L_X32Y60_SLICE_X50Y60_D5_FDRE (FDRE.C) is locked to SLICE_X50Y60
        CLBLM_L_X32Y60_SLICE_X50Y60_B_FDRE (FDRE.C) is locked to SLICE_X50Y60
        $auto$simplemap.cc:442:simplemap_dffe$22078CLBLM_L_X32Y60_SLICE_X50Y60_A_FDRE (FDRE.C) is locked to SLICE_X50Y60
        $auto$simplemap.cc:442:simplemap_dffe$23899CLBLL_L_X28Y99_SLICE_X45Y99_C5_FDRE (FDRE.C) is locked to SLICE_X45Y99
        CLBLM_R_X29Y56_SLICE_X46Y56_C5_FDRE (FDRE.C) is locked to SLICE_X46Y56
        CLBLM_L_X32Y56_SLICE_X50Y56_RAM64M/RAMD (RAMD64E.CLK) is locked to SLICE_X50Y56
        BRAM_L_X30Y95_RAMB36_X1Y19_RAMB36E1 (RAMB36E1.CLKARDCLK) is locked to RAMB36_X1Y19
        CLBLM_R_X27Y99_SLICE_X42Y99_D_FDRE (FDRE.C) is locked to SLICE_X42Y99
...

This is unrelated to the placement of the BUFG or PLL, as it interests only the routing phase, as the router chooses a wrong BUFH output to drive some FF.
I suppose that a temporary fix to this issue could be to add an increased cost to those wires that can get the CLK signal to get out of the INT tile and jump across non-dedicated routes. Namely wires that, for instance, connect the GCLK ppip (of the INT tile) to GFAN (of the same INT tile). This way, VPR should be able to choose the dedicated clock routes over the  non-dedicated routes.
Does this make sense @mkurc-ant @litghost ?

I think that a possible way to add the cost of the wrong paths, is to add yet another switch, opposite to the delayless one, that will act as a blocker for VPR to use a route instead of another.

Can you add the bitstream fasm, fasm vivado verilog, vivado tcl, and vivado checkpoint (dcp)?

@litghost Sure, here it is:
https://drive.google.com/open?id=1b_YNFKU3fng0JHvjl6OOgVvHS-hS12TI

So the bad route is:
[list INT_L_X32Y50/GCLK_L_B9_EAST [list INT_R_X33Y50/GFAN0 INT_R_X33Y50/FAN_ALT0 INT_R_X33Y50/FAN_BOUNCE0 INT_R_X33Y49/FAN_ALT3 INT_R_X33Y49/FAN_BOUNCE3 INT_R_X33Y49/FAN_ALT7 INT_R_X33Y49/FAN_BOUNCE7 INT_R_X33Y49/FAN_ALT4 INT_R_X33Y49/FAN_BOUNCE4 INT_R_X33Y48/FAN_ALT1 INT_R_X33Y48/FAN_BOUNCE1 INT_R_X33Y48/FAN_ALT5 INT_R_X33Y48/FAN_BOUNCE5 [list INT_R_X33Y48/FAN_ALT2 INT_R_X33Y48/FAN_BOUNCE2 INT_R_X33Y47/FAN_ALT3 INT_R_X33Y47/FAN_BOUNCE3 INT_R_X33Y47/FAN_ALT7 INT_R_X33Y47/FAN_BOUNCE7 INT_R_X33Y47/FAN_ALT4 INT_R_X33Y47/FAN_BOUNCE4 INT_R_X33Y46/FAN_ALT1 INT_R_X33Y46/FAN_BOUNCE1 INT_R_X33Y46/FAN_ALT5 INT_R_X33Y46/FAN_BOUNCE5 INT_R_X33Y46/CLK1 CLBLM_R_X33Y46/CLBLM_M_CLK  {} ]

This particular route is actually illegal if the relevant FAN_ALTx are not consuming the signal.  If we fix  https://github.com/SymbiFlow/symbiflow-arch-defs/issues/1019 , then this particular issue will go away.
The fix is suggested here: https://github.com/SymbiFlow/symbiflow-arch-defs/issues/1019#issuecomment-550438945
I've started the first part of the fix here: https://github.com/SymbiFlow/symbiflow-arch-defs/pull/1151
But that PR is stale, and I believe I had to modify VPR to make it work.  @acomodi, if you make that PR work, then fixing part 2 from https://github.com/SymbiFlow/symbiflow-arch-defs/issues/1019#issuecomment-550438945 is pretty straight forward, and would fix this issue and fix another fasm2bels failure we've been getting intermittently.

Ok, I will look into that and get the PR to work.
I have tried to test it locally and got a VPR error related to a Cinternal issue. Probably the VPR fix was related to that.

@acomodi FYI https://github.com/verilog-to-routing/vtr-verilog-to-routing/pull/1044

I am worried that this patch is not enough (and also disabling check route). I get past the check of the rr_graph, but the problem is now that an assertion fails during rr_graph load:
/vtr-symbiflow/vpr/src/route/rr_graph.cpp:3209 create_sets: Assertion 'node_to_node_set[edge.first] == node_to_node_set[edge.second]' failed.

I have tried disabling that, to see how far it would get, but apparently it is not enough as I encountered an issue during routing:
---- ------ ------- ---- ------- ------- ------- ----------------- --------------- -------- ---------- ---------- ---------- ---------- --------
Iter   Time    pres  BBs    Heap  Re-Rtd  Re-Rtd Overused RR Nodes      Wirelength      CPD       sTNS       sWNS       hTNS       hWNS Est Succ
      (sec)     fac Updt    push    Nets   Conns                                       (ns)       (ns)       (ns)       (ns)       (ns)     Iter
---- ------ ------- ---- ------- ------- ------- ----------------- --------------- -------- ---------- ---------- ---------- ---------- --------
Warning 122: No routing path for connection to sink_rr 449652, retrying with full device bounding box
Cannot route from BLK-TL-CLK_BUFG_BOT_R.CLK_BUFG_R_BUFGCTRL10_CE0[0] (RR node: 2019486 type: SOURCE location: (79,111) class: 96 capacity: 1) to BLK-TL-SLICEL.CLK[0] (RR node: 449652 type: SINK location: (54,45) class: 44 capacity: 1) -- no possible path
Failed to route:
.../vtr-symbiflow/vpr/src/route/route_common.cpp:1290 print_route: Assertion 'itr != route_ctx.rr_net_map.end()' failed.

I believe this issue has been resolved with:

https://github.com/verilog-to-routing/vtr-verilog-to-routing/pull/1166
https://github.com/SymbiFlow/symbiflow-arch-defs/pull/1343
https://github.com/SymbiFlow/symbiflow-arch-defs/pull/1267


Adding neural networks to HLearn

Hi,
I have been working (on and off) on a port in Haskell of Google's word2vec, first out of fun and then lately out of professional interest. My code is rather rudimentary and is here: https://github.com/abailly/hs-word2vec
It kinda works, at least in the sense it outputs something (a model, PCA data, SVG graphics) but I am running into my lack of real knowledge of neural networks in particular, and machine learning in general. I would like to cooperate with other people in order to:

improve that code to the point it is usable,
increase my knowledge and understanding of ML techniques and tools to the point I can put HLearn (or others) at use in my day to day work,
make it efficient using parallelization tools available in Haskell.

Is this something that might be interest to this project? Is my code some interesting starting point or I should just erase it and restart from scratch using other tools/techniques?
Thanks for your help,

I might be interested.. I have a Ph.D. in machine learning, and fairly good knowledge of category theory and functional programming. Have read through the Bananas etc. paper.
Got a few other projects that I need to clear out of the way, but want to get into haskell machine learning ASAP.

This looks like an awesome project!  I've been wanting to do some more word2vec style work lately, so I'd love to help you port this to HLearn :)
This would be a two step process:

You'd first port your code to using the subhask library for the math.  This should make your code a bit faster, more readable, and let you get rid of those mutable IO hacks.  (Soon it will automatically improve your code's numeric stability as well once I can work around a GHC bug :)  IIRC, word2vec uses sparse vectors multiplied by dense matrices.  This functionality isn't implemented in subhask yet, but it would be pretty easy for me to do so, and I'd be happy to do that for you.  I've been planning on doing it for a while, I just haven't had an excuse :)  If you can point me directly to the lines of code in your project where all the math stuff is, I can look through it, make sure that all the functionality you need really is in subhask, and give you some guidance on what the first steps would look like.

Next, you'd port your code to the History monad in the HLearn library.  I haven't written too much about how this monad works yet, so this is likely to require me to be a bit more directly involved.  The basic idea is that we want to divide machine learning algorithms into two separate pieces of code: one for the optimization algorithm and one that is problem specific.  This promotes code reuse (because the optimization code can usually be applied to other learning problems as well), and let's us use some fancy debugging features to visualize what exactly is happening within the optimization.

The first step should be relatively straightforward and just involve Haskell knowledge.  The second step is going to require thinking a bit more deeply about the underlying machine learning and so will probably be more difficult.

HI Mike,
Thanks for the encouraging words! The code doing the neural network training is around here: https://github.com/abailly/hs-word2vec/blob/master/Model.hs#L171 Not pretty I am afraid, and probably not even correct...
I had a look at SubHask, this looks impressive and a bit daunting but I guess providing efficient and easy to use math operations interface in Haskell comes at a price :-) I think that even getting to do point 1. and reaching a point where 1/ computations are more efficient and 2/ are easier to understand would already be a great step forward. Currently my NN code is totally ad hoc and heavily inspired by original C code (which itself wasn't extremely elegant...). I had a look at several NN packages out there but given my limited knowledge of the field it was hard for me to decide basing my work on one or the other, so I resorted to doing computations directly.
Thanks for your help.

I'm impressed by how well documented the code is and easy for me to follow :)  After looking through it, it seems like it really should be a straightforward conversion.  Am I correct that you're not actually using sparse vectors anywhere?
Here are some notes I took while reading through your code:

Your Layer type (I.IntMap Vector) should change to SMatrix (see the code).  The r parameter is the field you'll be doing calculations over (probably Double), and the m and n specify the number of rows and columns in the matrix.  Since you don't know these values at compile time, you'd use phantom types for these parameters.  (I can explain this in more detail if you haven't seen something similar before.)  There's a short tutorial on how to use the linear algebra operations in subhask that'll probably help.  I would expect a TON of speed improvements just from this type change alone because IntMap is a relatively slow data structure.

Ahh... now that I look at your updateLayer function, I see why you chose to use an IntMap for the layer.  It's because you're modifying the matrix one vector at a time, right?  In order to get a mutable version of any type in subhask, you prefix the type with Mutable.  So Mutable m (SMatrix Double m n) would be a mutable matrix in the monad m.  I don't believe there's any tutorials right now for using the mutable structures, but I'll make one if you really do need mutability.

This line of code: let neu1eInitial = fromListUnboxed (ix1 layerSize) (replicate layerSize 0) would use the unsafeToModule function in subhask.  (A Module is a generalization of a vector.)  SubHask is trying to be a bit more principled mathematically than repa.

Your updatePoint code can be simplified quite a bit.    I think the linear algebra tutorial above should get you started pretty well with that.

There's no need for numberOfWords and modelSize to be stored within the Model itself.  They will get stored with the phantom parameters mentioned above.  So if for some reason these values are known at compile time, they would get completely optimized away by the compiler.

Your Code and Dictionary types could be modified to use SubHask's container hierarchy, but that's probably less important to you?

If you have any more questions, please don't hesitate to ask!

Hi Mike,
Thanks. Given the domain was pretty new to me I tried to document code for my future self. Note that the overall structure should really be improved (module names, source directory, no tests...).
Actually yes, I resorted to using an IntMap out of luck when I tried direct matrix operations over the whole layers: it was extremely slow, no matter what. So I went for a less elegant but at least bearable mutable implementation...
I will start with the linalg tutorial and see if I can convert my code. GIven the overall ambitious goal of SubHask to "replace the Prelude", I assume I can still mix and match "Good Old Prelude" and SubHask, concentrating on the mathematical part?
Thanks again for your help, hope I will be able to get somewhere.
FWIW I am taking a 4-days intensive training in ML in November and the coding is supposed to be in Python. I plan to actually do the course in Haskell, hopefull using HLearn :-)

I assume I can still mix and match "Good Old Prelude" and SubHask, concentrating on the mathematical part?

The easiest way to do this is to import Prelude qualified as P and then put P. everywhere where GHC complains.  Then you can slowly go through and update one piece at a time to SubHask.


Bring back "Polygon" option in Box2d Physics

is there a possibility that this feature will be added back into the Box2d turbowarp extension? According to this issue, replacing the removed API is relatively simple.

Also read the other part of the comment:

but even in https://griffpatch.github.io/scratch-gui/ polygon mode is rather buggy

right but why not just bring it back and it will be optional

or do you know of a .js exention file for Box2d with the feature so that I can use it personally?

I am closing this as a duplicate of the issue linked above


ha-addon: missing radeonsi_drv_video.so driver, need mesa-va-drivers package

on AMD APU's, the package mesa-va-drivers is required to support hardware acceleration.   Installing this package into the docker container, installs /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so allowing acceleration to work:
root@a889bffc-go2rtc-master-hw:~# vainfo
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.17 (libva 2.12.0)
vainfo: Driver version: Mesa Gallium driver 22.3.6 for AMD Radeon Graphics (renoir, LLVM 15.0.6, DRM 3.49, 6.1.0-17-amd64)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

@AlexxIT, is it possible to include this package in the HA-addon by default? thanks!

Why closed?

i opened it in the other repo, https://github.com/AlexxIT/hassio-addons/issues/25
I can keep open here and close there, was not sure which REPO was the correct one for the HA-addon

This is better place for this issue. Because Docker file in this repo
https://github.com/AlexxIT/go2rtc/blob/master/hardware.Dockerfile

Try to install this package inside container
https://packages.debian.org/bookworm/mesa-va-drivers
docker exec -it {go2rtc-master} bash

You can check latest version after build https://github.com/AlexxIT/go2rtc/commit/b08b88357eb7903bb53506e1cf9f99dd7db24f1a

@AlexxIT thanks!  I can confirm the package is now installed and support for AMD APU's is working well.  Thank You!

Please check latest container update. I have used Debian 13 for FFmpeg 6.1 update.

Working well!

https://github.com/AlexxIT/go2rtc/releases/tag/v1.9.0


File format compares against set list

Preparatory changes to support revise

Coverage decreased (-0.3%) to 98.728% when pulling dc506157c12c1da7f2296c7504468f82a7dd0695 on revise into 64680a45a687490bc948b33783795ecaa9cea221 on master.


Fix download path issues since -P gets ignored with -O

-P param appears to be ignored by wget when -O is specified, using full path in -O instead

This was causing the build to fail on dockerhub.  I figured out how to actually test builds locally, so I shouldn't have any more build failing pull requests in the future :-P


feat(autoware_adapi_v1_msgs): new msg for fuel level

Description
add msgs for fuel level

Tests performed

Not applicable.
Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

It might be a good idea to have a more generic message to cover any fuel source. And support for hybrid cars.
# EnergyLevel.msg

builtin_interfaces/Time stamp # Time stamp of the message creation or event occurrence

# Constants representing energy source types
uint8 ENERGY_SOURCE_BATTERY = 0
uint8 ENERGY_SOURCE_FUEL = 1
uint8 ENERGY_SOURCE_HYDROGEN = 2

# Energy source type
uint8 energy_source

# Current energy level in percentage of the total capacity (0.0 - empty, 100.0 - full)
float32 energy_level_percentage

# Actual energy level, expressed in the appropriate units for the energy source (e.g., liters for fuel, kWh for battery, kg for hydrogen)
float32 energy_level_actual

# Total capacity of the system, expressed in the appropriate units for the energy source (e.g., liters for fuel, kWh for battery, kg for hydrogen)
float32 energy_capacity

And a new message for hybrid  vehicles:
# HybridVehicleEnergyLevel.msg

# Array of EnergyLevel messages, one for each energy source in the vehicle
EnergyLevel[] energy_levels

Energy level is already defined in VehicleStatus.msg and should be updated with the new message if needed. Also, it might be a good to separate dynamic data (energy_level_percentage, energy_level_actual) as topic and static data (energy_source, energy_capacity) as service or transient_local topic.

Thank you @isamu-takagi , as you pointed out I guess already existing one should be enough for our case and if needed an extension to the message can be provided with another PR later on.


mdc-select does not select the option when set value through form control asynchronously

What Angular MDC version are you using?
0.42.2
What browser(s) is this bug affecting?
Tested on Chrome, Firefox
What OS are you using?
MacOS
What are the steps to reproduce the bug?

Create template with mdc-select with *ngFor options.
Asynchronously assign dynamic options.
Set value of FormControl programmatically (via FormControl::setValue or FormGroup::patchValue).

What is the expected behavior?
mdc-select is selected on the option that has the newly assigned value.
What is the actual behavior?
mdc-select is selected on the first option.
Some reproducible snippet
Template
<div [formGroup]="form">
  <mdc-select formControlName="select">
    <option *ngFor="let number of numbers" [value]="number">{{ number }}</option>
  </mdc-select>
</div>

Controller
form = this.fb.group({
  select: '',
});

numbers = ['1', '2', '3', '4', '5'];

ngOnInit() {
  setTimeout(() => {
    this.numbers = ['6', '7', '8'];
    this.form.controls.select.setValue('7');
  }, 100);
}

@mixth Thanks for reporting this. Duplicated, and working on a solution.


Remove pyarrow as a run dependency as stub libraries should not depend on their source libraries

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.


prettier-standard --check

It'd be nice to be able to check if files are properly formatted so we can use prettier-standard for lint tests, as well.

would you like to contribute it?

I would like to have my CI build fail if there are files not prettier-standard formatted, but I'm not sure how to go about it.
It looks to me that the easiest way would be to add a --failOnChanged flag that would cause the exit status to be 2 (1 signals failure for stdin formatting currently) if some files were actually formatted or stdin format output is different from input.
I imagine this would be different from --check, which I'd expect to not do anything, just check.

Opened #24

any idea on how to replicate prettier-standard eslint rules? I tried "extends": ["standard", "standard-react", "standard-jsx"] on .eslintrc.js, but it stills different, showing rules like no-undef, camelcase, react/prop-types and a lot more (827 problems).
On a higher level, if I could only dump pretty-standard configuration to an .eslintrc.js, do you think I could use eslintrc to lint it?

prettier-standard uses fixable rules from standard config, but if you want to lint, you need to use all rules from standard, so you're right to use "extends": ["standard"]

That is what I expected, but it don't works for me. Check this output:
root@blackpearl:/app# cat .eslintrc.js
module.exports = {
  "extends": "standard"
};
root@blackpearl:/app# npm run format

> @ format /app
> prettier-standard 'gulp/assets/javascripts/!(vendor)/**/*.js'

359 files were unchanged
root@blackpearl:/app# npm run lint 2>&1| grep error | wc -l
732

npm run lint runs eslint 'gulp/assets/javascripts/!(vendor)/**/*.js'.
Some of the errors that are complained when I run lint: no-unused-vars, no-undef, one-var. eqeqeq, camelcase, and others

I'm not sure what you mean. no-unused-vars and others are not fixable rules, so prettier-standard is not able to automatically fix them. prettier-standard is a formatter, not a linter. It'll never output any linting errors. On the other hand eslint is a linter, so it outputs extra errorrs when you run it, it is expected. Please correct me if I misunderstood you.

Thanks @sheerun, what you are talking makes sense. What I'm looking for right now seems to be a standard that only runs the format checker, not the full lint. So I actually only need the subset of standard rules that prettier-standard can actually fix. This is to avoid committing code without using prettier-standard first, and then modifying the code on the wrong commit. I can't introduce a complete lint tool check on my project deployment without a huge effort right now :-(

@fotanus Here is the code to fetch prettier-standard rules:
https://github.com/sheerun/prettier-standard/blob/master/src/format-files.js#L60-L66

I made #59 recently not knowing that this existed. As I'm closing that issue in favor of this conversation, I just wanted to bump the thread as I think it would be a nice addition to the CLI interface.

@rjhilgefort the workaround im using is to install standard (version 11) and run standard to lint.

For running on CI, letting prettier-standard actually format the files should be fine. And the exit status from prettier-standard lets you know if anything was formatted or not. So a successful exit is the same as a lint check. (And a nonzero exit indicates failure to pass the lint rules, where the git-diff indicates the necessary changes.)
I know this doesn't cover all use cases, but it's a workaround.

@jasonkarns My team just ran into this - the exit code only gets set if formatting errors:
https://github.com/sheerun/prettier-standard/blob/master/src/format-files.js#L174
since files which were changed by formatting show up in successes, not failures. :(

btw. --check flag has been introduced but it behaves similarly to prettier's --check flag. This flag probably will be named --lint if it'll be introduced (it should be easier as eslint in recent versions allows to specify directory from where to load plugins, so it's easier to override dependencies of dependencies). PR welcome!

--lint flag has been added in 14.0.0-beta.5, I'd appreciate some feedback

Please upgrade to +14.x for --lint flag. Feedback appreciated in separate issues.


Architecture Decision Records?

I wonder whether it would be good to add Architecture Decision Records (ADRs) https://adr.github.io/ into this project? They might be a little contrived, but it would good to see them added to this project in its role as an exemplar.

Definitely a good idea and I thought about it recently. I will try to add entries to the most important decisions in the near future

Hi @jimmcslim, I created Architecture Decisions Log and have added 16 ADRs. I think the most important decisions are described. I plan to keep this log up to date.
Log available here: https://github.com/kgrzybek/modular-monolith-with-ddd/tree/master/docs/architecture-decision-log


Add contact Update integration test

Integration Test found the error of the contact update function, thus it cannot pass the test currently


WIP remove framebuffer object

Closes #3552
History and motivation
In the new swapchain model, which became the one and only model as of #3327, users are not able to pre-create framebuffers for every swapchain image in advance. We settled on the requirement for the user to create a framebuffer for every frame they render, and then remove it after presenting. This didn't fit into the low-level API too well, and Vulkan backend had to implement the smarts of tracking the use of swapchain-related framebuffers. See more detail by @thorjelly in #3552.
Status
This PR removes framebuffer as a concept, leaving it to be an implementation detail of the backends.
Currently it's done for HAL, Vulkan, and Metal.
Biggest concerns:

OpenGL backend complexity/consistency

Analysis
Effect on the API: great, simpler API. Especially the new RenderAttachmentInfo struct. We already had a slight divergence with Vulkan on the clear values in begin_render_pass, and this PR makes it look very solid and concise.
Effect on the user: great, less things to manage, especially the fact that we don't have "special" framebuffers versus the regular ones any more.
Effect on performance:

Vulkan: minimal.

It's now easier to internally reuse those framebuffers.
We have anecdotal evidence that of all the Vulkan implementors only one mobile vendor can actually do anything useful with the framebuffer object, and others don't use it.

OpenGL: negative, we can no longer create FBOs in advance
other: no effect

Effect on the code complexity:

Vulkan: positive, there is no special-casing any more, no managing of the "owner" of framebuffers.
Metal: positive, also less special-casing.
OpenGL: negative. Unlike Vulkan, we can't just create an FBO on the spot while recording, since it's done off-line. So we'll have to have internal commands elevated to higher level, i.e. SetRenderTargets instead of BindFramebuffer.

Finally, this helps streamlining the path from wgpu to the hardware, as WebGPU doesn't have framebuffers either.

Closing in favor of #3571

Closing in favor of #3571


[1.12.2] Incompability with VanillaFix(1.0.10-99)

Mod Version:
Version <IP_ADDRESS> for 1.12.2
Forge Version:
Version <IP_ADDRESS>55
Link to client log:
here
Link to crash log:
here
Description:
Mod works without VanillaFix. Crashes with VanillaFix version 1.0.10-99.

in case that the two links expire, I attached them here
crashlog.txt
clientlog.txt

Several things:

Update DS to use the latest BETA (<IP_ADDRESS>)
Update VanillaFix to the latest version
Install MixinBootstrap.  The 1.16.4 version will do.
You may need to install Mixin Compat.


Default build task asks for task

This only started in todays insider build, I am running workbench.action.tasks.runTask and see this:

This used to just compile vscode.
//cc @alexr00

This is actually unrelated to my changes and only reproduces in a multi-root repo.

https://github.com/microsoft/vscode/blob/872c9079b137119777a4afc2c6f047d4eee8d329/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts#L2990-L3008

reproduces in stable

This would require adding a workspaceFolder specific argument to run task

Just to clarify: this is a regression from stable and even worked fine a few days ago. I forgot to mention how I have setup the keybinding:
{
    "key": "cmd+shift+alt+b",
    "command": "workbench.action.tasks.runTask",
    "args": "Restart VS Code - Build"
}

This used to just run the task but now asks me for input, maybe something else has changed? But the name of the task still seems to be Restart VS Code - Build.
https://github.com/microsoft/vscode/blob/e373bdd2fc0458919fceca1d8f112eb4344cf5a8/.vscode/tasks.json#L106

Actually what is interesting: the task seems to restart, but I still see the picker? That is strange 🤔

Thanks for the info - can repro w your setup 👍🏼


Filtering of images

Hi Pascal,
I am facing issue for huge hit on png & pdf files download when i do crawling my sites. Even though i have filtered the jpg,gif,png,ico,css,js,pdf files , my crawler has keep on hitting all the filtered type of files.
Configuration :
<referenceFilters>
    <filter class="$filterExtension" onMatch="exclude">jpg,gif,png,ico,css,js,pdf</filter>
    <filter class="$filterRegexRef">https://www.sample.com/.*</filter>
</referenceFilters>

FT: 2019-03-26 12:04:26 INFO -         REJECTED_TOO_DEEP: https://www.sample.com/download/removedrealpath.pdf

Could you please help me to filter the unwanted file formats.
Note:  Mainly i do not want to hit my server for ( jpg, gif, png, ico, css, js, pdf) format files.
Originally posted by @sathishavpc in https://github.com/Norconex/collector-http/issues/531#issuecomment-477154998

The REJECTED_TOO_DEEP log message does indicate a hit on the server.  Rather the opposite.  A link was extracted from a parent document but was not followed because it was too deep.
Do you have evidence that your images (or PDF) are being downloaded?  From what you shared, it seems just fine.


Updated deprecated usage of plistlib

Usage of plistlib.Plist has been deprecated for years and has been finally removed from python 3.7's plistlib package. Trying to execute python setup.py in 3.7 resulted in the following error:

cannot import name 'Plist' from 'plistlib'

Using the plistlib.load function is the recommended way.
From python 3.7 changelog:

Removed previously deprecated in Python 2.4 classes Plist [...] in the plistlib module.

Thanks!


Configure service name

Hey guys,
awesome stuff. It's real fun to work with your stack. One think I can't figure out is how to set the service name for a given tracer. To me, all services are labeled "main". Is there any way to change the service name without moving the tracer instantiation to a different package?
cheers

That's how it's done
lightstep.NewTracer(lightstep.Options{
	AccessToken: "x",
	Tags: opentracing.Tags{
		lightstep.ComponentNameKey: "spec-svc",
	},
})


Threaded Binary Tree <- DS <- CPP

Threaded binary tree implementation in CPP.
Threaded binary tree are uses to make faster inorder traversal without using stack or recursion.
It stores the inorder successor, if the right node is empty.
And stores the inorder predecessor if left node is empty.

There are functions to add, delete and search for an element.
Also the inorder for the tree.

I would like to contribute to this issue as part of DWOC, please assign it to me.

@shraddhavp I have finished working on this issue, should I make a PR? - as part of DWOC

@shraddhavp I have finished working on this issue, should I make a PR? - as part of DWOC


feat: add an option to turn on/off collapsible heading

for issue #230.

Brilliant! It works perfectly and handles every possible user behavior, which is exactly what we need. I believe this is ready to be merged. As you might have noticed, I added the translations in Index.vue, which was the only issue with the code. Keep up the great work!


Check searching speed

    searching is quite slow. Reads all datasources, rather than db?

Originally posted by @mrghg in https://github.com/openghg/openghg/issues/395#issuecomment-1234072057

Done with move to metadata store.


Error entering *Schule

Hello Jonas,
I have an Issue filling out the login data.
I tried many options für *Schule but didn't yet find a solution to find the right one. What do I do wrong?
Please help me.
Best regards
Martin

If you look at the URL you have the parameter school. That is what should work. In you case it starts with FE...

Hello,
I tried it. Unfortunately it is still not working.

Schau dir nochmal den Punkt in der Doku https://github.com/JonasJoKuJonas/homeassistant-WebUntis?tab=readme-ov-file#configuration-via-ui an.
Bei Server nur den Server rein.

Wow, das war schnell. Hat bestens funktioniert. Bin echt begeistert. Danke!


Catch throwable and reset isDispatching

We ran into trouble with command bus v5. As this version supports PHP 5.x we don't catch \Throwable, which is ok in most situations except the one I fixed in this PR.
Problem: 5.x command bus is used in a long-running script. We have a try catch (\Throwable $ex) around command bus dispatch and are able to handle the \Throwable without killing the script. The problem is that the command bus still thinks that it is in dispatching mode, because this mode is only turned off in case of an \Exception.
The idea here is to only fix that situation and don't refactor the old version of service-bus to support \Throwable all the way down. In v6 we catch \Throwable and people (including our project) should upgrade.

Coverage decreased (-0.6%) to 99.387% when pulling b461530f3df82fa75e105cafaade4e3cd2bc80fe on bugfix/handle_throwable into af0dae21a3b49146e45cb9a55c558e450f13040e on 5.x.


Restart Antrea when ConfigMap changes

By watching the mounted config in each Pod.

@jianjuns @tnqn I wanted to get some early feedback from you on this simple approach: when the ConfigMap changes, simply exit the antrea-agent / antrea-controller container and let it restart so that the config changes can take effect
this is still a WIP, and I have yet to take care of the Antrea Controller
One issue is that it can take up to 2 minutes to detect that the ConfigMap has changed (https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#mounted-configmaps-are-updated-automatically). However it's a very simple approach which does not require watching the ConfigMap from the kube-apiserver. It can also be improved over time to avoid a complete restart based on which config parameter was changed.

Codecov Report

Merging #1427 into master will decrease coverage by 22.68%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #1427       +/-   ##
===========================================
- Coverage   64.78%   42.09%   -22.69%
===========================================
  Files         159       85       -74
  Lines       12662    10298     -2364
===========================================
- Hits         8203     4335     -3868
- Misses       3602     5579     +1977
+ Partials      857      384      -473

Flag
Coverage Δ

#integration-tests
?

#kind-e2e-tests
?

#unit-tests
42.09% <ø> (-0.01%)
:arrow_down:

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

Impacted Files
Coverage Δ

pkg/agent/agent_linux.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/ovs/openflow/default.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/config/node_config.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/ovs/openflow/logs.go
9.52% <0.00%> (-90.48%)
:arrow_down:

pkg/controller/networkpolicy/tier.go
0.00% <0.00%> (-90.00%)
:arrow_down:

pkg/apis/controlplane/register.go
0.00% <0.00%> (-85.72%)
:arrow_down:

pkg/ovs/openflow/ofctrl_group.go
0.00% <0.00%> (-84.38%)
:arrow_down:

pkg/agent/client.go
0.00% <0.00%> (-77.42%)
:arrow_down:

pkg/ovs/openflow/ofctrl_action.go
17.07% <0.00%> (-74.15%)
:arrow_down:

pkg/ovs/ovsconfig/ovs_client.go
0.00% <0.00%> (-72.30%)
:arrow_down:

... and 123 more

I have been thinking about this more and the limitations of this approach:

2 minutes delay
all Pods restarted at once
exponential backoff when the Pod restarts, as pointed out by Quan

On the other hand, I feel like the current approach which ignores ConfigMap updates and requires users to either manually delete all Antrea Pods (Pods will restart all at once) or update the spec for the Agent DaemonSet (if they want a RollingUpdate) is not ideal.
In the light of the (Openshift) operator work presented by @ruicao93 at the 10/26/2020 Antrea Community Meeting and the comments by @jianjuns during that presentation about the possibility to add some generic / useful functions required by the operator in the main Antrea repo, maybe we should consider another approach. For example we could consider writing some "library" which supports rolling out Antrea ConfigMap changes by treating the ConfigMap as immutable (e.g. using the kustomize kyaml library: https://pkg.go.dev/mod/sigs.k8s.io/kustomize/kyaml): 1) create a new ConfigMap with a new name with the desired changes, 2) update the Antrea Controller Deployment and Antrea Agent DaemonSet resources though the K8s API to use the new ConfigMap instead of the old one, 3) delete the old ConfigMap. An Antrea operator could use this library by linking against it directly for config reconciliation. For folks who use Antrea directly, we could leverage the library in antctl to provide a simple config update mechanism: antctl config update ".agent.enablePrometheus=true".
Subsequently we may try to optimize this for config parameters that may not require a restart (for now they all do). However, treating the ConfigMap as immutable keeps things clean and easy to reason about. We could even leverage the Immutable ConfigMaps feature, starting with K8s 1.19, to enforce a strict contract with the user and avoid misunderstandings.
cc @tnqn for your thoughts on this

What you think about wapping the controller/agent process with a startup script, then after the config change, we can just restart the controler/agent process but not the container?

What you think about wapping the controller/agent process with a startup script, then after the config change, we can just restart the controler/agent process but not the container?

That's a solution we actually discussed with @tnqn offline. It's still something I'm open to; we can reserve a specific exit code for config updates and handle it in the wrapper script. We have to make sure that we handle signals from kubelet correctly. I'm not a big fan of the added complexity and if we ever want to use "distroless" container images (with no shell) for Antrea components (or at least for the Controller), that's something we would have to deal with. We still have the following issues though:

2 minute delay before config changes are detected (could be longer in clusters with a larger TTL for the kubelet ConfigMap cache)
a lot of agents may restart simultaneously, as opposed to a RollingUpdate; this may be an issue for large clusters as it can take a while for the Agent to get initialized there

Would love to hear Quan's thoughts on this

Looks like the requirement has been discussed in Kubernetes for more than 4 years: https://github.com/kubernetes/kubernetes/issues/22368. Guess if there are any solutions, they must have been mentioned in the long thread.
I'm open to the way that wraps the process with a script as well, haven't thought of any better solution.
Just to confirm, the current configmap suffix is generated from its content, right? So it won't happen that after user applies a antrea manifest yaml, the processes restart themselves once simultaneously and deployment/daemonset controller restart them another time in rolling update fashion.

Just to confirm, the current configmap suffix is generated from its content, right? So it won't happen that after user applies a antrea manifest yaml, the processes restart themselves once simultaneously and deployment/daemonset controller restart them another time in rolling update fashion.

That' correct

I'm open to the way that wraps the process with a script as well, haven't thought of any better solution.

I'd really like us to consider the potential solution described in https://github.com/vmware-tanzu/antrea/pull/1427#issuecomment-717512194 to treat the ConfigMap as immutable, while at the same providing a library that is useful when building an Antrea operator (which is something we have been discussing in the context of the Openshift operator), along with an antctl command for config updates.

@antoninbas I am think maybe we can add a sidecar to watch the configmap change instead of watch it in each agent and exit itself immediately, the sidecar can update the agent/controller annotation which is similar like Helm chart: https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments, then we can rely on K8s rolling update strategy to update agent one by one.

@antoninbas I am think maybe we can add a sidecar to watch the configmap change instead of watch it in each agent and exit itself immediately, the sidecar can update the agent/controller annotation which is similar like Helm chart: https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments, then we can rely on K8s rolling update strategy to update agent one by one.

That sounds like a good idea to me. Not sure why you refer to it as a "sidecar" though. I imagine it will run as a deployment with a single replica or something like this?
Please fell free to close this PR and open a new one, with your suggested implementation.

@antoninbas , you are right, it should be a deployment with a single replica to do this kind of update. thanks.


fix 7995: profileSample % and row number

Describe your changes :

fix #7995

Type of change :

[x] Bug fix
[x] Improvement
[x] New feature
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Frontend Preview (Screenshots) :
For frontend related change, please link screenshots of your changes preview! Optional for backend related changes.

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

Reviewers

@ayush-shah I think adding profile_sample_rows variable everywhere bloats the code and makes it a bit harder to maintain. We add this new arguments to all the objects and methods and models and we also add a new method to fetch this value. I feel like it is not a scalable approach. On top of that we add that new method on the backend side to check what kind of sample we have.
From what I understand, where it really interests us to know if we have rows or sample % when we are going to compute the percentage itself.
My thinking here would to keep only the sampleProfile and have a flag for the method (percentage or number of rows). Then we can use that flag to decide how we want to compute that sample.
cc @harshach @pmbrull for thoughts

@TeddyCr, Our initial steps were to add a customType that distinguishes if it's percent or rows, as discussed with @harshach we had it modified to the current implementation using profileSampleRows

@TeddyCr, Our initial steps were to add a customType that distinguishes if it's percent or rows, as discussed with @harshach we had it modified to the current implementation using profileSampleRows

Make sense. To me, I see this PR as adding technical debt that we'll need to manage down the road.

@TeddyCr @harshach ready for review

@chirag-madlani updated the changes as per comments!